Javascript jQuery:将复选框的可视输出更改为选中
当我循环所有附加了class.category的复选框并尝试将复选框的视觉输出更改为选中时,什么也没有发生。变量“state”返回true或false,并用于更改元素及其当前视觉输出。此时此刻什么也没发生,我也不知道为什么 HTML:Javascript jQuery:将复选框的可视输出更改为选中,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,当我循环所有附加了class.category的复选框并尝试将复选框的视觉输出更改为选中时,什么也没有发生。变量“state”返回true或false,并用于更改元素及其当前视觉输出。此时此刻什么也没发生,我也不知道为什么 HTML: 提前感谢。尝试此操作以选中复选框 $('body').on('click','.category',click); function click(){ $('.category').each(function(i,element){ element.
提前感谢。尝试此操作以选中复选框
$('body').on('click','.category',click);
function click(){
$('.category').each(function(i,element){
element.value='checked';
});
return false;
}
请注意,由于在事件处理程序中使用了return false,所以不会发生任何事情。这将防止取消选中复选框 如果您试图实现全选选项,只需执行以下操作: $.category:first.onclick,函数{ $.category.propchecked,this.checked; }; 全选 请尝试以下代码:
$('body').on('click','.category',click);
function click(){
$('.category').each(function(i,element){
var state = $(element).prop('checked');
$(element).prop('checked', state ? '' : 'checked');
});
return false;
}
如果对代码执行测试,您将看到试图获取元素的方式是不正确的。类别不存在。你拥有的是分类桌面。所以如果你这样测试:
alert($( 'input' ).hasClass( "category" ));//False
alert($( 'input' ).hasClass( "category-desktop" ));//True
我认为您正在尝试这样做:
$('body .category-desktop').on('click',function(){
alert("click ok");
//run your function
});
看小提琴
但要完成代码,我需要了解您是否要单击任何复选框、正文上的任何位置或具有类别桌面的任何元素。此时没有任何事情发生,我不知道原因。-你希望发生什么?你能添加你的HTML代码吗?我希望点击复选框输出一个视觉检查。现在它看起来仍然没有被选中,即使被选中。@user2381011看到我的答案了吗。从我看到的情况来看,您正在尝试实现全选选项。返回false;防止检查复选框的默认行为它的目的是什么?我不明白你在开玩笑,但以防万一你不明白。1它向每个.category元素添加一个单击事件侦听器。2该函数迭代所有.category元素。3并将其值设置为checked。对不起,我刚才说的是:element.value='checked';将复选框的值设置为“checked”的目的是什么?每个输入都有一个value属性。该复选框只能使用选中的值和emtpy字符串。将该值设置为checked将使其处于选中状态。您也可以使用element.checked=true;。
alert($( 'input' ).hasClass( "category" ));//False
alert($( 'input' ).hasClass( "category-desktop" ));//True
$('body .category-desktop').on('click',function(){
alert("click ok");
//run your function
});