0

我有一个似乎可以工作的代码,除非我从对话框窗口中选择单选按钮,它总是选择第一个值。我在 php 中使用带有 ID (pd_id) 的代码来提供我想要的结果。

你能指点一下,可能有什么问题吗?在这个例子中,无论我从单选按钮中选择哪个选项,我总是得到水。

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<style>
    body { font-size: 62.5%; }
    label, input { display:block; }
    input.text { margin-bottom:12px; width:95%; padding: .4em; }
    fieldset { padding:0; border:0; margin-top:25px; }
    h1 { font-size: 1.2em; margin: .6em 0; }
    div#users-contain { width: 350px; margin: 20px 0; }
    div#users-contain table { margin: 1em 0; border-collapse: collapse; width: 100%; }
    div#users-contain table td, div#users-contain table th { border: 1px solid #eee; padding: .6em 10px; text-align: left; }
    .ui-dialog .ui-state-error { padding: .3em; }
    .validateTips { border: 1px solid transparent; padding: 0.3em; }
</style>

<script>
    $(function() {
        var name = $("#name_34");

        $("#dialog-form-34").dialog({
            autoOpen: false,
            height: 300,
            width: 350,
            modal: true,
            buttons: {
                "Select": function() {
                    var bValid = true;
                    name.removeClass("ui-state-error");
                     //name.val("").removeClass("ui-state-error");

                  //  $("#users_34 input").append(name.val());



                    $('input[name=users_34]').val(name.val());
alert(name.val());

                    $(this).dialog("close");


                },
                Cancel: function() {
                    $(this).dialog("close");
                }
            },
            close: function() {
                name.val("").removeClass("ui-state-error");
            }
        });

        $("#spice_34")
                .button()
                .click(function() {

            $("#dialog-form-34").dialog("open");
        });
    });
</script>




<form id="dialog-form-34" title="Select Spice Level" method="post">

    <input type="radio" id="name_34" value="Water" class="text ui-widget-content ui-corner-all"> Water<br>
<input type="radio" id="name_34" value="Beer" class="text ui-widget-content ui-corner-all"> Beer<br>
<input type="radio" id="name_34" value="Wine" checked class="text ui-widget-content ui-corner-all">Wine 
</form>          


<input id="users" name="users_34" type="text "class="ui-widget ui-widget-content" readonly/>         
<button id="spice_34">Select</button>
4

1 回答 1

1

不同的元素在 HTML 中必须有不同的 id。您必须使单选按钮相等的是名称:

<input type="radio" name="yourname" value="Water" class="text ui-widget-content ui-corner-all"> Water<br>
<input type="radio" name="yourname" value="Beer" class="text ui-widget-content ui-corner-all"> Beer<br>

然后,要获取所选元素的值,您可以这样做:

var value = $('[name="yourname"]:checked').val();
于 2013-05-26T16:28:06.347 回答