我得到了错误的radiobutton值,为什么?

时间:2011-07-15 18:33:51

标签: jquery jquery-selectors radio-button

这会返回上一个选中的单选按钮值的值,为什么?

<script>

    $("#ptmodel label").click(function () {

 var selected = $("input[name=in_pt_model]:checked").val(); 
 var selecteddataString = 'in_pt_model='+ selected;
 $.ajax({
    type: "POST",
    url: "badkamer_sets.php",
    data: selecteddataString,
    success: function(selected){
            $("#ptsize_check").html(selected);
    }
});
});
</script>

2 个答案:

答案 0 :(得分:4)

我猜#ptmodel label是与input[name=in_pt_model]相关联的标签。

而不是使用标签的click事件(与input [in_pt_model]“相关联。)。)处理输入[name = in_pt_model]”的更改事件。

试试这个:

<script>
    $("#ptmodel input[name=in_pt_model]").change(function () {
     var selected = $(this).val(); 
     var selecteddataString = 'in_pt_model='+ selected;
     $.ajax({
            type: "POST",
            url: "badkamer_sets.php",
            data: selecteddataString,
            success: function(selected){
                                    $("#ptsize_check").html(selected);
            }
        });
    });
</script>

答案 1 :(得分:0)

我的直觉告诉我,这里的根本问题是你附加到单选按钮的jquery onclick事件在DOM处理click事件之前触发,这意味着单选按钮实际上还没有被点击,所以当你检查时.val()它仍会报告旧值。将事件从单击更改为更改应解决此问题。 -