即使通过javascript代码检查,如何触发复选框点击事件?

时间:2011-01-24 10:25:08

标签: javascript jquery javascript-events checkbox

我的页面中有很多复选框,并且有一个全选复选框可以检查所有复选框。不知何故,我想模仿复选框的点击事件,即使通过选择所有按钮选中/取消选中它也是如此。我该怎么办?

7 个答案:

答案 0 :(得分:95)

您可以使用jQuery .trigger()方法。见http://api.jquery.com/trigger/

E.g:

$('#foo').trigger('click');

答案 1 :(得分:14)

获取检查状态

var checked = $("#selectall").is(":checked");

然后设置

$("input:checkbox").attr("checked",checked);

答案 2 :(得分:7)

您也可以使用.change()功能

E.g:

$('form input[type=checkbox]').change(function() { console.log('hello') });

答案 3 :(得分:5)

没有gQuery

的document.getElementById( 'your_box')的onclick();

我在复选框上使用了某些课程。

var x = document.getElementsByClassName("box_class");
var i;
for (i = 0; i < x.length; i++) {
    if(x[i].checked) x[i].checked = false;
    else x[i].checked = true;
    x[i].onclick();
   }

答案 4 :(得分:3)

jQuery的触发器功能可能是你的答案。

jQuery docs says: 当相应的事件发生时,会触发附加.on()或其快捷方法之一的任何事件处理程序。但是,可以使用.trigger()方法手动触发它们。对.trigger()的调用以与用户自然触发事件时相同的顺序执行处理程序

因此,最好的一行解决方案应该是:

$('.selector_class').trigger('click');

//or

$('#foo').click();

答案 5 :(得分:0)

您也可以使用它,希望您可以为他们服务。

$(function(){
  $('#elements input[type="checkbox"]').prop("checked", true).trigger("change");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>

<div id="elements">
  <input type="checkbox" id="item-1" value="1"> Item 1 <br />
  <input type="checkbox" id="item-2" value="2" disabled> Item 2 <br /> 
  <input type="checkbox" id="item-3" value="3" disabled> Item 3 <br />
  <input type="checkbox" id="item-4" value="4" disabled> Item 4 <br />
  <input type="checkbox" id="item-5" value="5"> Item 5
</div>

答案 6 :(得分:0)

  $("#gst_show>input").change(function(){

    var checked = $(this).is(":checked");
    if($("#gst_show>input:checkbox").attr("checked",checked)){
      alert('Checked Successfully');
    }

  });