在jquery mobile中,我想用javascript代码更改一个广播组。我有这个:
<fieldset data-role="controlgroup" data-type="horizontal" data-mini="true">
<legend>Co-op Department:</legend>
<input name="coopdepartment" id="artssciRB" value="Arts & Science" checked="checked" type="radio">
<label for="artssciRB">Arts & Science</label>
<input name="coopdepartment" id="managementRB" value="Management" type="radio">
<label for="managementRB">Management</label>
<input name="coopdepartment" id="idsRB" value="IDS" type="radio">
<label for="idsRB">IDS</label>
</fieldset>
JS
var all = $("#profile-edit-form").find("input");
all.removeAttr("checked");
$("#profile-edit-form").find("input[value="+user['department_name']+"]").attr( "checked", "checked" );
all.checkboxradio( "refresh" );
但它不起作用......有谁知道什么是错的?它虽然在输入标签上放置了一个checked属性。
由于
答案 0 :(得分:1)
.attr()
指实际标记中的HTML属性。您想要使用的不是HTML属性,而是元素的DOM属性。您需要.prop('checked')
而不是.attr('checked')
。
答案 1 :(得分:1)
当前的复选框状态不是attr
,而是prop
。
all.prop("checked", false);
应该有用。