2013-06-20 4 views
0

Как определить конкретное исправление, которое было нажато, когда форма id все элементы одинаковы, в цикле foreach?Определить, какой элемент щелкнул в foreach, jquery

В цикле Еогеаспа есть вход:

echo " <input class='active' name='notification_id_' id='notification_id_' value='$notification_id''>$notification_id</input> <br />"; 

Jquery код я использую определяет только первое значение:

var id = $('#notification_id_').val(); 
+1

'ID' ** должен быть уникальным ** для каждого _element_. Вместо этого используйте 'classes'. – Vucko

+0

Боковое примечание: атрибуты HTML должны быть двойными и не одиночными. – NickSlash

ответ

2

первую очередь вы не можете иметь тот же идентификатор для нескольких элементов ..id всегда должен быть уникальным (thatz почему она называется ID) .... изменить все в класс и использовать this ссылки

попробовать этот

$('.className').click(function(){ 
    alert($(this).val()); 
}); 
+0

Да, вы абсолютно правы. Я должен был использовать классы. – pt0

+0

:) ... fine ... happy coding .... – bipen

1

Try с this, как и использовать класс, который вы можете иметь несколько классов с таким же именем. Но идентификатор всегда должен быть уникальным.

$('.my_btn').on('click',function(){ 
    var id = $(this).val(); 
    alert("Clicked on id :" + id); 
}); 
+0

Спасибо, я не могу поверить, что это было очевидно. Кстати, это была ошибка, не означало, чтобы уменьшить ее :( – pt0

0

1. простой метод:

$('.className').click(function(){ 
alert($(this).val()); 
}); 

2. По вашему методу:

echo " <input class='active' name='notification_id_' id='notification_id_' value='$notification_id' onclick=test(notification_id_);>$notification_id</input> <br />"; 

В

function test(var val) 
{ 
    alert(val); 
} 

надеюсь, что это даст вам какое-то решение.

+0

Спасибо всем за полезные подсказки! – pt0

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