如何获取动态生成名称的单选按钮的值

时间:2013-05-29 21:59:56

标签: jquery html forms radio-button

我有一大堆带有动态生成名称的单选按钮,如下所示:

        <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完成?

4 个答案:

答案 0 :(得分:2)

试试这个:

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

如:

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

答案 1 :(得分:1)

您可以使用属性选择器来获取元素

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

但是,它使用PHP内联脚本,因此仅在页面加载时呈现。

或者最简单的是:

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

答案 2 :(得分:1)

您可以从onchange事件(使用jQuery)获取name属性

// 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");
});

答案 3 :(得分:0)

您可以使用id="anything"

的父div

现在使用jquery selector $('#anything input[type="radio"]:checked').val()

你可以实现那个