2015-04-15 1 views
-2

Как сохранить идентификатор в виде переменной в jQuery с щелчка ввода. Это то, что я получил, но не уверен, что это сработает.Получите идентификатор входа и сохраните его как переменную

<div class="email_button"> 
    <input id="button1" value="value" /> 
    <input id="button2" value="value2" /> 
    <input id="button3" value="value3" /> 
    <input id="button4" value="value4" /> 
</div> 

Это мой JQuery

jQuery('.email_button input').click(function(){ 
var buttonid = jQuery($this('.emailbutton input')).attr('id'); 
)} 

тогда я буду проездом этот идентификатор в некоторый условный PHP с помощью AJAX

+0

ли вы пытаетесь запустить код, хотя? – Huey

+1

'var buttonid = this.id' будет достаточно –

+2

Ваш HTML-код недействителен. –

ответ

-1

Ваш HTML является недействительным. изменить его в правый класс, как показано ниже:

$('.email-button input').click(function (e) { 
    var buttonid = e.target.id; 
}); 

ИЛИ

$('.email-button input').click(function (e) { 
    var buttonid = $(this).attr('id'); 
}); 

HTML

<div class="email-button"> 
    <input id="button1" value="value" /> 
    <input id="button2" value="value" /> 
    <input id="button3" value="value" /> 
    <input id="button4" value="value" /> 
</div> 
+0

Я не уверен, как это лучше, чем 'this.id', особенно если распространение произошло, и в этом случае он мог бы ошибиться в ошибке –

+0

Почему вы добавили' $ (this) .attr ("id") '... Я не понимаю, почему людям нравится обертывать вещи в jQuery только для того, чтобы получить их свойство. То, что вы делаете, похоже на 'var x = {y: 5}; $ (x) .attr ("y") '- конечно, это работает, но это также совершенно бессмысленно. –

+0

@BenjaminGruenbaum, которого вы не видели должным образом, я предоставил 2 решения. –

-1

Как это:

var id; 

$("input").click(function(){ 
id= $(this).attr("id"); 
}) 
+0

Спасибо за помощь –

0

Это будет делать , фактически:

jQuery('.email_button input').click(function(){ 
    var buttonid = $(this).attr('id'); 
    //$.post blah blah blah 
)} 
0

this.id Использование или $(this).attr('id')

jQuery('.email_button input').click(function(){ 
    var buttonid = this.id //Or $(this).attr('id'); 
)} 

.attr() используется, чтобы получить атрибут и $(this) определяет текущую кнопку контекста т.е..

Кроме того, близкие входные метки с value=: <input... value="..."/>

+0

Спасибо, что обратились за помощью отредактировал мой вопрос, чтобы отразить мои ошибки и опечатки. –

1

Есть несколько вещей неправильно с вашим кодом

JS

$('.email-button input').click(function() { 
    var buttonid = this.id; 
)}; 

this.id возвращает идентификатор щелкнутого элемента .email-button класса вы использовали в HTML, не .email_button

HTML

недопустимого HTML <input id="button1" value"value"> это, вероятно, опечатка копируется несколько раз, но вы пропустили знак равенства и закрытия. Должно быть

<input id="button1" value="value" /> 

FYI, вы могли бы использовать $(this).attr('id'), чтобы получить идентификатор, однако нет смысла делать это в вашем случае

+0

Спасибо за вашу помощь –

-1
<div class="email-button"> 
    <input id="button1" value="value" /> 
    <input id="button2" value="value" /> 
    <input id="button3" value="value" /> 
    <input id="button4" value="value" /> 
</div> 

$('.email-button input').on("click",function() { alert($(this).attr("id")); )};

Смежные вопросы