2013-06-19 122 views
0

我有這樣的一個頁面上的一些單選按鈕:jQuery的.trigger不執行第二次

<div id="testdiv"> 
    <input type="radio" name="testing" class="my_rad" value="Radio 1" /> 
    <input type="radio" name="testing" class="my_rad" value="Radio 2" /> 
    <input type="radio" name="testing" class="my_rad" value="Radio 3" /> 
    <input type="radio" name="testing" class="my_rad" value="Radio 4" /> 
    <br /> 
    <input type="checkbox" name="my_check" value="Checkbox 1" class="my_other_element" /> 
</div> 

我必須重視與類my_other_element複選框自定義onChange事件,我想要做的是以下內容:

$('#testdiv').on('change', '.my_other_element', function(){ 
    $(this).trigger('onChange'); 
}); 

$('#testdiv').on('change', '.my_rad', function(event){ 
    // do stuff 
    $('.my_other_element').trigger('onChange'); 
    // do more stuff 
}); 

$('#testdiv').on('onChange', '.my_other_element', function(){ 
    alert('THIS IS EXECUTED'); 
}); 

所以,當我選擇一個單選按鈕,我做一些東西,然後我觸發my_other_element onChange事件,然後我做一些更多的東西。我遇到的問題是,我第一次選擇單選按鈕時,會觸發my_other_element的onChange事件。但是,如果我再次選擇另一個單選按鈕(第二,第三或任何時間),我的觸發器甚至不會執行。我希望這很清楚我想在這裏做什麼。任何想法爲什麼我的觸發器第一次執行,但不是第二,第三,第四,時間?

謝謝

+1

它的'$(this).trigger('change');'在jquery中。並且我沒有在代碼中的任何地方看到onchange事件 – bipen

+0

您從未實際上將任何事情綁定到onChange事件,除非您將該部分留出。 –

回答

0

事件是change,所以沒有必要解僱onchange

$(this).trigger('change'); 
0

有jQuery中沒有onChange使用change

$(this).trigger('change'); 

也請檢查您的邏輯:因爲您正在綁定上的onChange事件和ptag你也在創建一個recursion這個函數