2013-10-09 42 views
0

有一個每個都有一個單選按鈕的表。問題是,表已經爲我生成了,並且tds上附有一個事件,當它們被點擊時,裏面的單選按鈕的狀態也會改變。我無法控制生成的腳本。jQuery:如何檢測由其他事件引起的單選按鈕更改

有沒有辦法檢測單選按鈕上的值變化(無點擊/按鍵)或覆蓋tds上的內置事件?當單選按鈕的狀態被選中時,我需要做一些事情。

我使用jQuery,這裏是我當前的代碼:

$('input[type=radio]').on('change', function() { 
    var $this = $(this); 
     if($this.is(':checked')) alert('a'); 
}); 
+0

不存在......如果狀態被另一個腳本改變,那麼改變事件不會被自動觸發..它必須手動完成..如果你不能控制腳本那麼這是一個艱難的運氣 –

+0

一個可能的解決方案是瞭解哪些事件可以改變無線電狀態,並通過利用事件傳播在更高層次上處理它們。 –

回答

6

你可以再點擊一下事件添加到TD的並觸發單選按鈕更改事件。

$('td').on('click',function() { 
    $('input[type=radio]', this).trigger('change'); 
} 
+0

好主意! Kiiro:這將需要與上面的原始代碼配對(而不是替代它) –

+0

@ArunPJohny我把它解釋爲'不能控制已經存在的腳本'..所以用一個額外的腳本,這可以完成。如果我錯了,對不起! – MildlySerious

+0

@MildlyInteresting謝謝你的回答,它像一個魅力!雖然我不知道選擇器中的「這個」是什麼,但我必須閱讀它。 – KiiroSora09

相關問題