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 做到这一点?

4

4 回答 4

3

尝试这个:

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

如:

alert( $('input[type="radio"]:checked').val() );
于 2013-05-29T22:02:04.870 回答
1

您可以从 onchange 事件中获取 name 属性(使用 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");
});
于 2013-05-29T22:05:45.143 回答
1

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

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

然而,这使用了一个 PHP 内联脚本,所以它只有在页面加载时才会起作用。

或者最简单的是:

console.log($(":radio:selected").val());
于 2013-05-29T22:04:49.597 回答
0

您可以使用父 divid="anything"

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

你可以做到这一点

于 2013-05-29T22:03:14.510 回答