2014-09-30 3 views
0

У меня есть список тегов с отличным идентификатором (post-1, post2 и т. Д.).JQuery select specific element

Я пытаюсь запросить предварительный запрос с определенным идентификатором сообщения, щелкнув по радио. Это HTML:

$("#pro").click(function(){ 
 
    var post = $(this).val(); 
 
    alert(post); 
 
    $.get("<?php echo get_template_directory_uri(); ?>/jquery.php",{type: 'post', userid :'<?php echo get_current_user_id();?>', postid: '<?php echo $post->ID; ?>', pro : "pro"},function(data,status){ 
 
    alert("Data: " + data + "\nStatus: " + status); 
 
    }); 
 
});
<input type = "radio" value = "<?php echo $post->ID;?>" class="pro-radio" name="pro-<?php echo $post->ID;?>" id="pro" <?php echo $GLOBALS['lock']; ?> <?php echo $pro_select; ?>> <label for="pro" class="pro-radio" >pro</label>

и это JQuery:

Когда я нажимаю одну из них, все радиоприемники oprate в JQuery.

спасибо.

+1

Поскольку все они имеют один и тот же идентификатор – Sekai

+1

Post тонированное HTML; PHP здесь не имеет значения. – j08691

+1

Ваш HTML не согласен с тем, что вы говорите в первой строке. У вас разные имена, но один и тот же идентификатор. Похоже, ты их забрал. – Barmar

ответ

0

Я думаю, что вы вернулись имя и идентификаторы, попробовать этот HTML

<input type = "radio" value = "<?php echo $post->ID;?>" class="pro-radio" id="pro-<?php echo $post->ID;?>" name="pro" <?php echo $GLOBALS['lock']; ?> <?php echo $pro_select; ?>> <label for="pro" class="pro-radio" >pro</label> 
0

попробуйте добавить другой класс для каждой кнопки радио и выбрать по имени класса уаг пост = $ («Classname»). Вэл(); предупреждение (сообщение);

0

Я думаю, что ваш HTML немного странный. Вы используете то же самое id, но разные атрибуты name для ваших радиостанций. Предположим, у вас есть этот HTML:

<input type="radio" name="pro" value="1" id="pro-1"> <label for="pro-1">pro 1</label> 
<input type="radio" name="pro" value="2" id="pro-2"> <label for="pro-2">pro 2</label> 
<input type="radio" name="pro" value="3" id="pro-3"> <label for="pro-3">pro 3</label> 

Затем использовать этот JS, чтобы получить выбранное значение:

$('input[name=pro]').change(function() { 
    if ($(this).is(':checked')) { 
     alert($(this).val()); 
    } 
}); 

Обратите внимание, что радиостанции выбираются их (идентичны) name, но не по (другой) id. Затем вы должны проверить, что текущий элемент выбран, используя .is(':checked'), и, наконец, я использую change() вместо click(), если элемент выбран с помощью ввода с клавиатуры.

Проверьте это здесь: http://jsfiddle.net/seofu1t4/

+0

Там вопрос samll я не сказал. каждый пост имеет 2 раду (pro и против), поэтому именно это имя является номером pro. Теперь, когда я нажимаю на один из элементов радио, jquery получает щелчок и отправляет 5 раз (5 - это число сообщений, которые у меня есть), тот же запрос на получение. – Barak

+0

Я обновил скрипку http://jsfiddle.net/seofu1t4/1/ – DerVO