2010-12-08 53 views
17

的ID我有這樣的jQuery的onClick捕捉元素

<input type="radio" name="name" id="name" onchange="enableTxt()" /> 

許多輸入字段,當我點擊這個單選按鈕,我想捕捉無線電輸入的ID。我使用下面的代碼

function enableTxt() { 
    var id = $(this).attr("id"); 
    alert(id); 
} 

正在此錯誤

a.attributes is undefined 
+1

戒,你需要將此傳遞給函數作爲參數,這是問題 – kobe 2010-12-08 06:46:41

+1

@harsa一個建議,因爲你已經使用jQuery,將內聯函數改爲document.ready onchange事件,這樣就可以清晰分離,並且可以減少錯誤的發生,如傳遞值等。 – kobe 2010-12-08 06:58:55

+0

謝謝gov。我想你的權利 – 2010-12-08 07:14:34

回答

26

HTML:

<input type="radio" name="name" id="name" onchange="enableTxt(this)" /> 

JS:

function enableTxt(elem) { 
    var id = $(elem).attr("id"); 
    alert(id); 
} 
2

它傳遞給函數

enableTxt(this) 

function enableTxt(item) { 
    var id = $(item).attr("id"); 
    alert(id); 
} 
2

試試這個

alert($("input:radio").attr('id')); 
2

您可以從HTML傳正好ID

<input type="radio" name="name" id="name" onchange="enableTxt($(this).attr('id'))" /> 

function enableTxt(id) 
{ 
    alert(id); 
} 
0

另一種選擇是用JQ

$("#name").on('onchange',enableText); 

有了這個你的對象將是當前

3

的HTML

<button class="destroy" id="123"> 

jQuery的

$('button.destroy').on('click', function(e){ 
    e.preventDefault(); 
    console.log(this.id);