jQueryMobile Checkbox触发整个控制组的更改事件

时间:2011-06-01 17:46:21

标签: jquery

我在一系列div fieldcontain + fieldset控制组中设置了一组复选框。它们按主题分组,包含12个主要主题和每个主题下的2-5个子主题。

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

如何更改 更改实际复选框(从未选中复选到已选中或已选中或未选中)?

2 个答案:

答案 0 :(得分:4)

假设你正在做这样的事情:

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

您可以使用event.stopPropagation()阻止事件冒泡:

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

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

答案 1 :(得分:0)

感谢@Matt Ball,但我发现这就是我所需要的:

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

在我之前

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

我会把你的StopPropagation小费保留一天,但我不知道。