9

我无法使用 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");

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

4

5 回答 5

24

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

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

jsFiddle 在这里

于 2013-01-19T03:34:34.737 回答
5

除了:

$('#reset').click(function(){
    $('#Store').trigger("click").trigger("click"); // yes... twice
});

在 jQuery Mobile 1.4.2 上。

于 2014-06-29T21:40:18.880 回答
1

对我来说,这可以取消选中整个收音机组:

$(".my_class").removeAttr("checked");
$(".my_class").checkboxradio("refresh");
于 2015-05-24T13:57:32.247 回答
0

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

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

于 2013-01-19T00:48:02.457 回答
0

在 Jquery 移动单选按钮刷新是这样的:

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


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

试试这个对我来说很好

于 2014-04-08T08:30:55.760 回答