手动点击之前更改复选框状态

时间:2014-12-23 16:14:27

标签: jquery checkbox triggers click checked

我正在使用旧版本的JQuery,我需要Checkboxes更改checked状态,然后在以编程方式触发onclick时执行click方法。< / p>

HTML:

<input type="checkbox" id="cb_1" name="cb_1" onclick="Write(this)" />
<input type="text" id="tb_1" name="tb_1" />
<br />
<input type="checkbox" id="cb_2" name="cb_2" onclick="Write(this)" />
<input type="text" id="tb_2" name="tb_2" />
<br />
<input type="checkbox" id="cb_3" name="cb_3" onclick="Write(this)" />
<input type="text" id="tb_3" name="tb_3" />
<br />
<input type="button" id="bt" name="bt" value="Write All Checkboxes" onclick="WriteAll()" />

JS:

function Write($this)
{
    var _Selected = $($this).is(':checked');
    $('#' + $this.id.replace('c', 't')).val(_Selected);
}

function WriteAll() 
{
    $('[id^="cb_"]').each(function() 
    {
        if(!$(this).is(':checked'))
        {
            $(this).trigger('click');            
        }
    });
}

this ticket中所述,

  

当用户点击具有点击监听器的Checkbox时,它首先翻转checked状态,然后触发该事件。当开发人员使用jQuery启动对Checkbox的单击时,它会首先触发该事件,然后翻转checked状态。

这种行为在JQuery&gt;上得到修复。 1.8.3,见:

Jquery 1.9.1

JQuery 1.8.3

但是我不能为我改变JQuery版本,因此有人有任何想法吗?

0 个答案:

没有答案