使用Jquery Mobile检查和取消选中单选按钮

时间:2013-01-18 23:57:11

标签: javascript html cordova jquery-mobile radio-button

我无法使用jquery mobile以编程方式检查一组复选框,我有以下代码:

<div data-role="fieldcontain"  id="div_radio" class="radiogroup">
    <fieldset data-role="controlgroup">
        <input type="radio" name="radio-pieces" id="radio-choice-1" value="3" checked="checked" />
        <label for="radio-choice-1">1 to 3</label>

        <input type="radio" name="radio-pieces" id="radio-choice-2" value="5"  />
        <label for="radio-choice-2">4 to 5</label>

        <input type="radio" name="radio-pieces" id="radio-choice-3" value="6"  />
        <label for="radio-choice-3">over 5</label>
    </fieldset>
</div>

如果我这样做:$("input[type='radio']:last").attr("checked",true).checkboxradio("refresh");一切都很完美,但这一切都不起作用:

$("input[type='radio']:first").attr("checked",true).checkboxradio("refresh");
$("input[type='radio']:eq(0)").attr("checked",true).checkboxradio("refresh");
$("input[type='radio']:eq(1)").attr("checked",true).checkboxradio("refresh");
$("input[type='radio']:eq(2)").attr("checked",true).checkboxradio("refresh");

如何正确操作这些元素?取消选中所有复选框也可以正常工作:

$("input[type='radio']").attr("checked",false).checkboxradio("refresh");

似乎唯一的复选框是最后一个。

5 个答案:

答案 0 :(得分:22)

他们都工作得很好。您只需要在组中的所有refresh上触发input radio

$("input[type='radio']:first").attr("checked", "checked");
$("input[type='radio']").checkboxradio("refresh");

jsFiddle是here

答案 1 :(得分:5)

除了:

之外,没有什么对我有用
$('#reset').click(function(){
    $('#Store').trigger("click").trigger("click"); // yes... twice
});

在jQuery Mobile 1.4.2上。

答案 2 :(得分:1)

对我来说,这是为了取消选中整组无线电:

mShownByMe

答案 3 :(得分:0)

这似乎不对。 单引号不需要输入[type = radio]是正确的。 我使用的是过时的版本(1.1.1)。 了解您正在使用的版本将会有所帮助。

请记住,这些是单选按钮,一次只能选择一个。

答案 4 :(得分:0)

在Jquery移动单选按钮刷新如下:

$(".iscfieldset input[type='radio']:first").attr("checked", "checked");


    $(".iscfieldset input[type='radio']").checkboxradio().checkboxradio("refresh"); 

试试这个对我来说很好