【发布时间】:2017-10-04 09:43:43
【问题描述】:
我有一组复选框控件,我想在数组中为选中的控件发布某个值,为未选中的控件发布 null
我在下面编写了代码 sn-p,但无论它们的检查状态如何,我总是得到相同的值
$("#bt1").click(function() {
var checked = []
var val = ''
var $chbx = $("input[name='advsrc']")
$chbx.each(function() {
if ($chbx.is(':checked')) {
val = 'ahmad'
} else {
val = 'null'
}
checked.push(val);
});
console.log(checked)
return false;
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="bt1" type="button" value="button" />
<input id="grndsrc" type="checkbox" checked="checked" name="advsrc" />
<input id="fnamesrc" type="checkbox" name="advsrc" />
<input id="lnamesrc" type="checkbox" name="advsrc" />
<input id="dobsrc" type="checkbox" name="advsrc" />
<input id="telsrc" type="checkbox" name="advsrc" />
<input id="ssnsrc" type="checkbox" name="advsrc" />
@techlove 的回答
$("#bt1").click(function() {
var checked = []
var val = ''
var $chbx = $("input[name='advsrc']")
$chbx.each(function() {
if ($(this).attr("checked")) {
val = 'ahmad'
} else {
val = 'null'
}
checked.push(val);
});
console.log(checked)
return false;
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="bt1" type="button" value="button" />
<input id="grndsrc" type="checkbox" name="advsrc" />
<input id="fnamesrc" type="checkbox" name="advsrc" />
<input id="lnamesrc" type="checkbox" name="advsrc" />
<input id="dobsrc" type="checkbox" name="advsrc" />
<input id="telsrc" type="checkbox" name="advsrc" />
<input id="ssnsrc" type="checkbox" name="advsrc" />
【问题讨论】:
-
使用 if ($(this).attr("checked"))。这里:stackoverflow.com/questions/2660323/…
-
感谢您的及时回复,没有成功
-
jsfiddle.net/6v0f9ogq 工作小提琴
-
抱歉,按钮无法触发
-
您需要证明@techLove 的建议不起作用。在他的代码中,按钮在单击时触发,并且控制台会记录相应的数组。
标签: jquery html arrays checkbox