[英]Javascript not accepting my function arguments?
我正在将chechboxes的类和id传递给js函数,并尝试使其动态地为任何复选框的id和类工作,以全部选中并取消选中所有复选框,这是html
<input type="checkbox" name="reply_status[]" <?=$checked;?> class="memebers" value="<?=$status[$e]['mail_sent_id']?>">
</td>
<td>
<input type="checkbox" name="send_invoice[]" <?=$checked_send_invoice;?> class="send_invoice" value="<?=$status[$e]['mail_sent_id']?>">
</td>
<td>
<input type="checkbox" name="invoice_paid[]" <?=$checked_invoice_paid;?> class="invoice_paid" value="<?=$status[$e]['mail_sent_id']?>">
</td>
<td>
<input type="checkbox" id="check_all_re" name="check_all" onclick="checkall_members('memebers','check_all_re')">
Check All
</td>
<td>
<input type="checkbox" id="check_all_sv" name="check_all" onclick="checkall_members('send_invoice','check_all_sv')">
Check All
</td>
<td>
<input type="checkbox" id="check_all_ip" name="check_all" onclick="checkall_members('invoice_paid','check_all_ip')">
Check All
</td>
这是js函数
<script type="text/javascript">
function checkall_members(chechboxclass, chechboxid) {
// var id = document.getElementById("check_all");
alert();
chechboxid = $('#' + chechboxid);
chechboxclass = $('.' + chechboxclass);
if (chechboxid.checked) {
chechboxclass.attr('checked', 'checked');
}
else {
chechboxclass.removeAttr('checked');
}
}
任何帮助,将不胜感激
用以下内容替换if..else块。
chechboxclass.prop('checked', chechboxid.prop('checked'));
顺便说一句,它的复选框 ,并没有CHEC ^ h箱 。
要进一步改善代码,请消除内联事件:
$('input[name="check_all"]').on('change', function() {
$($(this).data('toggleAll')).prop('checked', this.checked);
});
现在,您只需要向这些复选框添加data-toggle-all=".send_invoice"
等。 参数值应该是要与该复选框切换的复选框的选择器。
如果所有class
都具有name="check_all"
元素,则还可以通过使用input.whatever_class
而不是input[name="check_all"]
来加快选择器的速度
我已经为我的问题选出了最简单的解决方案
<script type="text/javascript">
function checkall_members(chechboxclass, chechboxid) {
var checkbox = document.getElementById(chechboxid);
chechboxclass = $('.' + chechboxclass);
if (checkbox.checked) {
chechboxclass.attr('checked', 'checked');
}
else {
chechboxclass.removeAttr('checked');
}
}
</script>
我必须在同一个javascript库中获取id elememt,这就是为什么它不起作用的原因var checkbox = document.getElementById(chechboxid); 谢谢你们帮我
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.