Если ваш конечный результат выглядит примерно так:
<input id='id' value='someValue'>
<a href='someLink' id='like'>like</a>
...
<input id='id' value='someValue'>
<a href='someLink' id='like'>like</a>
Вызовет проблему, так как идентификатор должен быть уникальным для каждого дом.
Вы можете переделать его для использования классов:
<input class="likeId" value='someValue'>
<a href='someLink' class='like'>like</a>
...
<input class="likeId" value='someValue'>
<a href='someLink' class='like'>like</a>
А чем в вашем обработчике кликов.
$(".like").click(function(){
$.post("done.php",
{id:$(this).prev('.likeId').val()},
function(data){
...
});
});
В зависимости от того, является ли входное значение скрытым, вы можете удалить его полностью и использовать атрибуты html data-*
и .data()
, если предполагается, что вы можете использовать jQuery больше, чем 1.4.3.
<a href='someLink' class='like' data-likeId='someValue'>like</a>
<a href='someLink' class='like' data-likeId='someValue'>like</a>
$(".like").click(function(){
$.post("done.php",
{id:$(this).data('likeId')},
function(data){
...
});
});