2009-10-29 89 views
2

我遇到了同樣的問題this individual has。具體來說,我試圖得到一個客戶端的onchange JavaScript事件爲我的單選按鈕觸發。不幸的是,代碼在位於圍繞單選按鈕的跨度上的onchange而不是在單選按鈕本身上呈現。訪問單選按鈕的OnChange javascript事件時出現問題

我在頁面內使用其他javascript來操作單選按鈕,所以onclick並不能完全滿足我的需求。

此外,在上述鏈接中給予用戶的答案是「太糟糕了,請使用html複選框」。對於我的應用程序,這是低於標準,因爲我需要單選按鈕來提高OnCheckedChange事件服務器端。

我試圖下井(使用jQuery 1.1.3.1)的一個解決方案道路是設置更改事件自己:

jQuery("input:radio").change(new function() { 
    setParent(jQuery(this)); 
    showUndo(jQuery(this)); 
}); 

這反映了onclick事件(這是目前實現,我想轉換到onchange;))

onclick="setParent(this); showUndo(this);" 

雖然這並沒有奏效。 :'(

+0

你有沒有.trigger()你的事件? – wambotron 2009-10-29 17:40:37

+1

把'new function()'改成''function()'你立即調用函數,將返回值傳遞給'change )'(它會觸發'change',不會綁定到它)。讓我們知道是否修復了任何內容。 – 2009-10-29 17:44:11

+0

...詛咒'new'! – JustLoren 2009-10-29 17:47:41

回答

2

以下爲我的作品如預期的事件觸發如果電臺改變,。‘這’在

<div id="test"> 
     <input type="radio" name="something"/> 
     <input type="radio" name="something"/> 
    </div> 

    <script type="text/javascript"> 
     $(document).ready(function() { 
      $(":radio").change(function() { 
       alert(this.name + ' changed'); 
      }); 
     }); 
    </script> 

onchange事件處理程序指向的單選按鈕對象這是否解決。你的問題是什麼?