2010-12-08 5 views
17

я много полей ввода, как этотJQuery OnClick захватить идентификатор элемента

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

когда я нажмите на эту кнопку радио я хочу захватить идентификатор входа радио. Я использую следующий код

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

Am получаю эту ошибку

a.attributes is undefined 
+1

Харша, вам нужно передать это функции в качестве аргумента, то есть вопрос – kobe 2010-12-08 06:46:41

+1

@harsa одно предложение, как вы уже используете JQuery, измените встроенное fucntion на document.ready onchange event, чтобы было четкое разделение и меньше изменений в создании ошибок, таких как передаваемые значения и т. д. – kobe 2010-12-08 06:58:55

+0

thanks 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

<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);