我的页面上有很多复选框,并且有一个全选复选框,用于选中所有复选框。我想以某种方式模仿复选框的单击事件,即使通过全选按钮选中/取消选中该复选框也是如此。我该怎么做?
Answers:
trigger('click')
会切换当前值。如果只想将其设置checked
为true,则调用triggerHandler(...)stackoverflow.com/questions/10268222/…–
您也可以使用.change()
功能
例如:
$('form input[type=checkbox]').change(function() { console.log('hello') });
您也可以使用它,希望您可以为他们服务。
$(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>
jQuery的触发函数可能是您的答案。
jQuery docs说: 发生相应事件时,将触发任何附加有.on()或其事件快捷方法之一的事件处理程序。但是,可以使用.trigger()方法手动将其触发。调用.trigger()会以与事件由用户自然触发的顺序相同的顺序执行处理程序
因此,最好的一线解决方案应该是:
$('.selector_class').trigger('click');
//or
$('#foo').click();
$("#gst_show>input").change(function(){
var checked = $(this).is(":checked");
if($("#gst_show>input:checkbox").attr("checked",checked)){
alert('Checked Successfully');
}
});
$('#foo').click()
,这实际上可以完成相同的操作。