2011-06-01 77 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()運行相同的元素。