使用JQuery动态设置复选框

时间:2013-03-07 10:17:41

标签: javascript jquery jsp

我试图根据用户从下拉列表中选择的内容,使用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" />&nbsp;</td>

我无法通过复选框在框中打勾。谁能发现我做错了什么?我知道它击中了setAttribute方法,因为当它应该被设置为true时显示警告框。

1 个答案:

答案 0 :(得分:2)

$('#fUpdateActiveFlag')是ID选择器。

将其添加到您的复选框

<td valign="top"><form:checkbox ID="fUpdateActiveFlag" path="fUpdateActiveFlag"
name='fUpdateActiveFlag' value="checked" />&nbsp;</td>

此外,jQuery函数不正确。 setAttribute是JavaScript函数,虽然看起来你正在使用jQuery选择器,因此你选择的对象是jQuery对象,它没有一个名为setAttribute的方法,而是使用{{1} }:

.attr()

参见工作示例http://jsfiddle.net/ruslans/8xp9g/

修改:根据@Dementic下面的评论,您可以继续使用$('#fUpdateActiveFlag').attr('checked','checked') 属性,但之后您必须将选择器更改为:

name

参见工作示例:http://jsfiddle.net/ruslans/A4D8f/