使用 Jquery Mobile 选中和取消选中单选按钮
我无法使用 jquery mobile 以编程方式检查一组复选框,我有以下代码:
I can't check a set of checkboxes programatically with jquery mobile, I have the following code:
<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");
一切正常,但这些都不起作用:
If I do: $("input[type='radio']:last").attr("checked",true).checkboxradio("refresh");
everything works perfect, but none of this work at all:
$("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");
如何正确操作这些元素?取消选中所有复选框也可以正常工作:
How can I properly manipulate these elements? Unselecting all checkboxes also works fine:
$("input[type='radio']").attr("checked",false).checkboxradio("refresh");
似乎唯一有效的复选框是最后一个.
It seems that the only checkbox working is the last one.
推荐答案
它们都工作得很好.您只需要在组中的所有 input radio
上触发 refresh
.
They all work just fine. You just need to trigger refresh
on all input radio
in group.
$("input[type='radio']:first").attr("checked", "checked");
$("input[type='radio']").checkboxradio("refresh");
jsFiddle 这里.
相关文章