как получить значение, используя ссылку - PullRequest
0 голосов
/ 23 января 2012

Я пытаюсь привязать идентификатор к тегу. не уверен, должен ли я делать привязку но я надеюсь, что мой пример поможет объяснить, что я пытаюсь сделать. у меня есть php для цикла, который дает мне серию чисел

<?php

         for($value = 1; $value <=5; $value++){
         print '<br><form><input id="hidden" type="hidden" value="'.$value.'" /><a id="link">click here</a><form>';
         }
         ?>

в моем HTML у меня есть поле в форме, когда цикл while выполняется, HTML выглядит так

<input id="hidden" type="hidden" value="1" /><a id="link">click here</a>
<input id="hidden" type="hidden" value="2" /><a id="link">click here</a>
<input id="hidden" type="hidden" value="3" /><a id="link">click here</a>

Моя цель заключается в следующем. если я нажму на первый «нажмите здесь», я хочу, чтобы вывести скрытое значение 1 если я нажимаю второй «нажмите здесь», я хочу вывести скрытое значение 2 и т. д. является то, что когда я нажимаю на любую ссылку, я получаю только значение первого «нажмите здесь», которое составляет 1

это мой код jquery.

<script>
$(document).ready(function(){ 
    $("a#link").click(function(){
    var s = $('.hidden').val();
 alert(s); 
 }); 
}); 
</script>

спасибо за вашу помощь заранее ...

Ответы [ 3 ]

1 голос
/ 23 января 2012

никогда не используйте идентичные id s, измените его на класс

<input id="hidden" type="hidden" value="1" />
<a class="link" href="#">click here</a>
<input id="hidden" type="hidden" value="2" />
<a class="link">click here</a>
<input id="hidden" type="hidden" value="3" />
<a class="link">click here</a>

, и часть jquery уже получила ответ @ DavidGouge

    $("a.link").click(function(e){
     e.preventDefault();
     var s = $(this).prev("input").val();
 alert(s);
 });

DEMO

1 голос
/ 23 января 2012
$('.hidden').val()

всегда даст вам первый скрытый val в DOM. Вам нужно

$(this).prev("#hidden").val()

Смотрите эту скрипку: http://jsfiddle.net/RJJEr/

0 голосов
/ 23 января 2012

ID должен быть уникальным, вы можете использовать class='hidden' вместо id="hidden", и в своей функции вы использовали var s = $('.hidden').val(), но в вашей форме нет класса 'hidden'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...