2013-10-28 54 views
0

我需要像下面那樣手動檢查我的單選按鈕。但問題在於事件未被觸發(手動檢查時)。通過代碼檢查我的單選按鈕,並觸發更改事件

$(function() { 
    // always check the 1st element 
    $("input:radio[name=MatrixID]:first").attr('checked', true).click(); 
}); 

$('.editor-field > input[type=radio]').change(function() { 
    // !!! not fired when checked by code!!?? 
    p.mustSave = true; 
}); 

我的問題:如何手動檢查(代碼)我的單選按鈕,也會觸發change事件?

我的HTML:

  <p> 
       <span class="editor-field"> 
        <input name="MatrixID" id="MatrixID873" type="radio" checked="checked" value="873"/> 
       </span> 
      </p> 

非常感謝。

+0

請發佈你的HTML。還有一個jsFiddle,當你在這裏。 – j08691

+0

[JQuery - 複選框on-change事件不會觸發,如果使用jquery檢查]可能重複(http://stackoverflow.com/questions/16892382/jquery-checkbox-on-change-event-doesnt-fire-if-檢查使用jquery) – ComFreek

+0

不要使用'attr()'屬性...使用'prop()' – charlietfl

回答

2

.click()觸發點擊事件,但您使用的是change()。試試這個:

$("input:radio[name=MatrixID]:first").prop('checked', true).trigger('change'); 
+0

我剛剛按照你的建議嘗試過。我的單選按鈕被選中,沒關係,但更改事件仍未觸發? – Bronzato

+0

@Bronzato請再次檢查您的代碼,它適用於我:http://jsfiddle.net/fpN86/ – ComFreek

+0

@Bronzato控制檯中的任何錯誤?問題可能在其他地方,因爲它應該工作:) –

相關問題