Jquery 在不触发更改的情况下设置$.prop()

Jquery 在不触发更改的情况下设置$.prop(),jquery,Jquery,尝试解除onchange侦听器的绑定,然后在设置属性后再次绑定它。您描述的是默认功能。从javascript更改元素不会触发更改事件 请注意,如果您单击示例中的复选框,您将收到警报,但如果您单击按钮,则不会收到警报。现在,您的选择器将所有输入元素作为目标。您可以给主复选框一个Id,给其他复选框一个公共类 $('#master').click(function() { $(this).parent().find('input').each(function(n, in) {

尝试解除onchange侦听器的绑定,然后在设置属性后再次绑定它。

您描述的是默认功能。从javascript更改元素不会触发更改事件


请注意,如果您单击示例中的复选框,您将收到警报,但如果您单击按钮,则不会收到警报。

现在,您的选择器将所有
输入元素作为目标。您可以给主复选框一个Id,给其他复选框一个公共类

$('#master').click(function() {
    $(this).parent().find('input').each(function(n, in) {
        $(in).prop('checked', true); // this triggers a change event that I need to stop
    });
});
    • $('li:first').bind('change',function(){ $(this.find('li').prop('checked','checked'); }); // 存在于别处,无法改变
  • 我认为要重现我的症状,你必须使用一个上级复选框来检查所有下级复选框,而不是单独的按钮。这不是问题,也许你可以在我的小提琴中重现这个问题?等等,只要看一下你的编辑,你的代码什么都做不了<代码>$(此)。查找(…
    将不返回任何内容,因为
    这是一个不包含任何内容的输入。您的html是否与您发布的内容不同?woops,这是一个输入错误。我想从顶层的父级
    li
    查找,您知道,它必须是一个稍后在切换选中属性的链中调用的方法。谢谢用于帮助。问题一定在其他地方。我需要在没有ID/类的情况下执行此操作。仅基于ul/li/输入层次结构
    $('#master').click(function() {
        $(this).parent().find('input').each(function(n, in) {
            $(in).prop('checked', true); // this triggers a change event that I need to stop
        });
    });
    
    <li>
    <input id="main-chk"type="checkbox" />
       <ul>
       <li>
         <input class="children" type="checkbox" />
    
        $('li:first').bind('change', function() {
           $(this).find('li').prop('checked', 'checked');
        }); // exists elsewhere, cannot change