使用jquery将广播附加到表单中

时间:2015-01-23 12:31:59

标签: javascript jquery

我正在开发一个小应用程序,但我无法解决这个问题 我试图使用jQuery将已检查的无线电附加到表单,我确实尝试了很多解决方案,但我确实失败了 我在这里写了代码,希望有人可以帮我解决这个问题

<div class="radio">
    <label>
        <input type="radio" name="optionsRadios" id="optionsRadios" value="interior">
        Interior
    </label>
</div>
<div class="radio">
    <label>
        <input type="radio" name="optionsRadios" id="optionsRadios" value="exterior">
        Exterior
    </label>
</div>
<div class="radio">
    <label>
        <input type="radio" name="optionsRadios" id="optionsRadios" value="interio+exterior">
        Interior si exterior
    </label>
</div>

这里使用json获取数据,我得到了正确的结果

 <script>
        $.each(data, function (k, v) {

                        typdespal = v.typdespal;
                        // the problem is that always i cant get the radio checked in the right position from the database
                       // $('#optionsRadios').val(typdespal);
                        $("input:radio[name='optionsRadios']").val(typdespal).prop( "checked", true );;

        </script>

3 个答案:

答案 0 :(得分:1)

您可以使用filter()查找带有值的正确单选按钮,然后将其属性设置为已选中。

$("input:radio[name='optionsRadios']").filter(function(){
   return $(this).val() === typdespal
}).prop( "checked", true);

答案 1 :(得分:1)

首先,您需要将此全部包装在Document.Ready调用中。然后,您只需将选中的函数应用于包含适当值的复选框。在您设置所有optionsRadios的值时。您可以使用prop function overload

执行此操作
$(function() { // DOM ready
    $("input:radio[name='optionsRadios']").prop("checked", function() {
       // Only set the checked value when this checkbox value === the corresponding data value
       var val = $(this).val();
       return val === data[val].typdespal;
    });
});

注意:我我正在读你的数据对象,没有看到它很难说:)

答案 2 :(得分:1)

首先,几个单选按钮可能具有相同的名称,但不具有ID。所以让他们独一无二。其次,尝试将您的选择器更改为:

 $("input:radio[value='"+typdespal+"']").prop( "checked", true );