一般从数据循环出来的选框要处理是否被选中都是使用IF去判断
,结果造成代码一堆
,速度过慢
。
我做了一个闭包分享给大家,希望对大家有用
。
代码:
functionifNumExists($numList,$key){
$return=false;
$arraylist=split(",",$numList);
$Length=count($arraylist)-1;//最后一个数组结果为空,所以应当减去。
for($i=0;$i<$Length;$i++){
if($arraylist[$i]==$key){
$return=true;
}
}
return$return;
}
使用方法:
ifNumExists(数组,当前单选框对应ID)
表结构:
单选框循环表(A):
idclass
1类别1
2类别2
3类别3
4类别4
单选值存放表(B):
idclassid
11,2,3,
22,3,4,
31,2,
当循环表A,判断是否当前input是否被选中,那么我们就可以使用
ifNumExists(classid,表Aid),返回的结果为true或者false,根据返回的结果我们给input增加或者不增加checked="checked"。
如:
if(ifNumExists(classid,$value['id'])){
$list=$list."<inputtype="checkbox"name="SendNums[]"value="".$value['id'].""checked="checked"/>".$value['class']."</li>";
}else{
$list=$list."<inputtype="checkbox"name="SendNums[]"value="".$value['id'].""/>".$value['class']."</li>";
}
return$list;