2013-05-29 7 views
3

У меня есть целая куча переключателей с динамически сгенерированных имен, как показано ниже:Как получить значение кнопки радио с динамически генерируемым именем

 <input type="radio" id="Red<?php echo $wineID; ?>" name="category<?php echo $wineID; ?>" value="Red" <?php if ($category == "Red") { ?>checked="true"<?php } ?>> 
      <label for="Red<?php echo $wineID; ?>">Red</label> 

     <input type="radio" id="White<?php echo $wineID; ?>" name="category<?php echo $wineID; ?>" value="White" <?php if ($category == "White") { ?>checked="true"<?php } ?>> 
      <label for="White<?php echo $wineID; ?>">White</label> 

     <input type="radio" id="Sparkling<?php echo $wineID; ?>" name="category<?php echo $wineID; ?>" value="Sparkling" <?php if ($category == "Sparkling") { ?>checked="true"<?php } ?>> 
      <label for="Sparkling<?php echo $wineID; ?>">Sparkling</label> 

Мне нужно, чтобы получить выбранное значение и добавить его в мой dataString для вызов ajax для обновления моей базы данных. Как это можно сделать с помощью jQuery?

ответ

2

Попробуйте это:

$('input[type="radio"]:checked') 

как в:

alert($('input[type="radio"]:checked').val()); 
+0

Это работало. Спасибо большое! –

0

вы можете использовать родительский DIV с id="anything"

теперь использует селектор JQuery $('#anything input[type="radio"]:checked').val()

вы можете достичь этого

1

Вы можете использовать селектор атрибута, чтобы получить элемент

$('input[name="category<?php echo $wineID; ?>:selected"') 

Однако это использует встроенный скрипт PHP, поэтому он будет работать только тогда, когда оказывается на странице загрузки.

Или проще всего было бы:

console.log($(":radio:selected").val()); 
1

Вы можете получить имя атрибута из OnChange событие (используя JQuery)

// Onload handler 
$(function() { 
    // Get all radio buttons and add an onchange event 
    $("input[type=radio]").on("change", function(){ 
     // Output a message in the console which shows the name and state 
     console.log($(this).attr("name"), $(this).is(":checked")); 

    // Trigger the onchange event for any checked radio buttons after the onload event has fired 
    }).filter(":checked").trigger("change"); 
}); 
Смежные вопросы