【发布时间】:2015-06-04 19:08:51
【问题描述】:
我正在处理一个带有一堆复选框的表单。在加载文档之前,通过 php 检查了一些复选框。我正在尝试确定用户是否选中了尚未从 php 脚本中选中的复选框。
如果他们选中其中一个未选中的复选框,我想显示一个包含文本区域的 div,他们可以在其中添加其他详细信息。
到目前为止,我认为最好的方向是将所有复选框的值和状态存储到一个数组中。 checked的状态存储为1,unchecked的状态存储为0。
每次单击复选框时,都会创建一个新数组,其中包含所有复选框的值和状态。然后将其与原始数组进行比较。如果在比较过程中识别出一个新的已选中复选框,则显示其中包含 textarea 的 div。
我想知道是否有人知道如何做这样的事情,或者有没有更好的方法来完成我想做的事情?
HTML:
<label><input type='checkbox' class='supress' name='suppressList[]' value='background' /></label>
<label><input type='checkbox' checked='checked' class='supress' name='suppressList[]' value='refsComp' /></label>
<label><input type='checkbox' class='supress' name='suppressList[]' value='I9' /></label>
<textarea id='details' name='additionalDetails'></textarea>
jQuery:
var status = $('input[type="checkbox"]').filter('.supress').map(function(){
var value = $(this).attr('value');
if($(this).is(':checked'))
return { 'value':value, 'status' : 1};
else
return { 'value':value, 'status' : 0};
});
【问题讨论】:
-
还可以通过您的 PHP 将一个类应用于那些预先检查的元素。
-
你想要这样:jsfiddle.net/fray12qe/9 ??
标签: jquery arrays checkbox compare