我尝试根据用户从下拉列表中选择的内容,使用 JQuery 1.5 动态检查复选框。当列表更改时,它返回到此函数:
function displaySystemResults(html){
var v = html.split(",");
document.getElementById('fUpdateSystemName').value = v[0];
if (v[1] == "true"){
alert("true");
$('#fUpdateActiveFlag').setAttribute('checked','checked');
}
}
这是下拉列表:
<td valign="top"><form:checkbox path="fUpdateActiveFlag"
name='fUpdateActiveFlag' value="checked" /> </td>
我无法在复选框中打勾。谁能发现我做错了什么吗?我知道它会点击 setAttribute 方法,因为当应该将其设置为 true 时会显示警报框。
最佳答案
$('#fUpdateActiveFlag')
是 ID 选择器。
将其添加到您的复选框
<td valign="top"><form:checkbox ID="fUpdateActiveFlag" path="fUpdateActiveFlag"
name='fUpdateActiveFlag' value="checked" /> </td>
此外,jQuery 函数不正确。 setAttribute
是 JavaScript 函数,虽然看起来您使用的是 jQuery 选择器,因此您选择的对象是 jQuery 对象,它没有名为 setAttribute
的方法,而是,使用.attr()
:
$('#fUpdateActiveFlag').attr('checked','checked')
参见工作示例http://jsfiddle.net/ruslans/8xp9g/
编辑:根据下面 @Dementic 的评论,您可以继续使用 name
属性,但随后您必须将选择器更改为:
$('[name="fUpdateActiveFlag"]').attr('checked','checked');
关于javascript - 使用 JQuery 动态设置复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15268481/