我有以下几点:
$(document).ready(function()
{
$("#select-all-teammembers").click(function() {
$("input[name=recipients\\[\\]]").attr('checked', true);
});
});
我希望id="select-all-teammembers"在选中和未选中之间切换。想法吗?那不是几十行代码吗?
我有以下几点:
$(document).ready(function()
{
$("#select-all-teammembers").click(function() {
$("input[name=recipients\\[\\]]").attr('checked', true);
});
});
我希望id="select-all-teammembers"在选中和未选中之间切换。想法吗?那不是几十行代码吗?
当前回答
一个更好的方法和用户体验
$('.checkall').on('click', function() {
var $checks = $('checks');
var $ckall = $(this);
$.each($checks, function(){
$(this).prop("checked", $ckall.prop('checked'));
});
});
$('checks').on('click', function(e){
$('.checkall').prop('checked', false);
});
其他回答
这是你想要的另一种方式。
$(document).ready(function(){
$('#checkp').toggle(
function () {
$('.check').attr('Checked','Checked');
},
function () {
$('.check').removeAttr('Checked');
}
);
});
我知道这是老问题,但这个问题有点模棱两可,因为toggle可能意味着每个复选框都应该切换其状态,无论它是什么。如果有3个选中,2个未选中,那么切换将使前3个未选中,最后2个选中。
为此,这里的解决方案都不起作用,因为它们使所有复选框具有相同的状态,而不是切换每个复选框的状态。对多个复选框执行$(':checkbox').prop('checked')将在所有.checked二进制属性之间返回逻辑与,即如果其中一个未选中,则返回值为false。
你需要使用.each()如果你想实际切换每个复选框的状态,而不是使它们都相等,例如。
$(':checkbox').each(function () { this.checked = !this.checked; });
请注意,在处理程序中不需要$(this),因为.checked属性存在于所有浏览器中。
使用这个插件:
$.fn.toggleCheck =function() {
if(this.tagName === 'INPUT') {
$(this).prop('checked', !($(this).is(':checked')));
}
}
然后
$('#myCheckBox').toggleCheck();
你也可以这样写
$(function() {
$("#checkbox-toggle").click(function() {
$('input[type=checkbox][name=checkbox_id\\[\\]]').click();
});
});
当用户单击id为“#checkbox-toggle”的按钮时,只需要调用复选框的单击事件。
有一个更简单的方法
首先给你的复选框一个类示例'id_chk'
然后在复选框内,将控制'id_chk'复选框的状态put:
<输入类型='checkbox' onchange='js:jQuery(.id_chk)。道具(“检查”、j查询(this)、道具(“检查”)' />
就这些,希望这能有所帮助