我正在使用旧版本的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版本,因此有人有任何想法吗?