Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:将复选框的可视输出更改为选中_Javascript_Jquery_Checkbox - Fatal编程技术网

Javascript jQuery:将复选框的可视输出更改为选中

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.

当我循环所有附加了class.category的复选框并尝试将复选框的视觉输出更改为选中时,什么也没有发生。变量“state”返回true或false,并用于更改元素及其当前视觉输出。此时此刻什么也没发生,我也不知道为什么

HTML:


提前感谢。

尝试此操作以选中复选框

$('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
});