PHP教程:PHP处理数组模式的以选未选input多选框
发布时间:2019-04-13浏览次数:1030
<p>
</p>
<table style="BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted" cellspacing="0" cellpadding="6" width="95%" align="center" border="0"><tbody><tr>
<td style="WORD-WRAP: break-word" bgcolor="#fdfddf">
<font color="#ff0000">WebjxCom提示:</font><font color="#000000">一般从数据循环出来的选框要处理是否被选中都是使用IF去判断,结果造成代码一堆,速度过慢。</font>
</td>
</tr></tbody></table>
一般从数据循环出来的选框要处理是否被选中都是使用IF去判断,结果造成代码一堆,速度过慢。<br><br>我做了一个闭包分享给大家,希望对大家有用。<br><br>代码:
<div class="blockcode">
<div id="code1558_-1">
<ol>
<li>function ifNumExists($numList,$key) {<br>
</li>
<li>$return = false;<br>
</li>
<li>$arraylist = split(",", $numList);<br>
</li>
<li>$Length = count($arraylist)-1; //最后一个数组结果为空,所以应当减去。<br>
</li>
<li>        for ($i=0;$i<$Length;$i++){<br>
</li>
<li>                if ($arraylist[$i] == $key) {<br>
</li>
<li>                        $return = true;<br>
</li>
<li>                }<br>
</li>
<li>        }<br>
</li>
<li>        return $return;<br>
</li>
<li>}<br>
</li>
</ol>
</div>
<br>
</div>
使用方法:
<div class="blockcode">
<div id="code1558_0">
<ol>
<li>ifNumExists(数组,当前单选框对应ID)<br>
</li>
</ol>
</div>
<br>
</div>
<strong>表结构:</strong><br>单选框循环表(A):<br>id class<br>1 类别1<br>2 类别2<br>3 类别3<br>4 类别4<br><br>单选值存放表(B):<br>id classid<br>1 1,2,3,<br>2 2,3,4,<br>3 1,2,<br><br>当循环表A,判断是否当前input是否被选中,那么我们就可以使用<br>ifNumExists(classid,表Aid),返回的结果为true或者false,根据返回的结果我们给input增加或者不增加 checked="checked"。<br>如:
<ol>
<li>if (ifNumExists(classid,$value['id'])) {<br>
</li>
<li> $list = $list."<input type=\"checkbox\" name=\"SendNums[]\" value=\"".$value['id']."\" checked=\"checked\" />".$value['class']."</li>";<br>
</li>
<li>}else{<br>
</li>
<li> $list = $list."<input type=\"checkbox\" name=\"SendNums[]\" value=\"".$value['id']."\" />".$value['class']."</li>";<br>
</li>
<li>}<br>
</li>
<li>return $list; </li>
</ol>