2011-06-01 79 views
0

我在一系列div fieldcontain + fieldset控制组中设置了一组复选框。它们按主题分组,每个主题有12个主题和2-5个子主题。jQueryMobile复选框触发整个控件组的更改事件

当我“更改”复选框时,它触发整个控制组的更改事件。如果我删除控件组字段集,它会触发整个列表中的更改事件(当点击时),无论是使用input [name =“checkbox_name”]还是input.checkbox-class。

如何获取的更改实际复选框已更改(从未选中选中或选中为未选中)?

回答

0

感谢@马特球,但我发现这个没有我需要的东西:

$('input[name="subtopics_chosen"]:checked').live('change',function()

之前,我有

$('input[name="subtopics_chosen"]').live('change',function()

我会把你的StopPropagation尖端的另一天,虽然,我不知道。

+0

啊,你解决了你自己的问题 - 不要忘记接受你自己的答案,当网站将允许它。 – 2011-06-01 18:06:08

4

假设你正在做的事情是这样的:使用event.stopPropagation()

$('input:checkbox').change(function() 
{ 
    // stuff 
}); 

可以防止事件冒泡:

$('input:checkbox').change(function (e) 
{ 
    e.stopPropagation(); 
}); 

您可以停止事件bubbing 阻止其他事件处理程序使用event.stopImmediatePropagation()运行相同的元素。