使用jQuery根据列表值选中复选框

3

我在表单中有一个复选框,其具有以下值:

<input type="checkbox" name="role" value="Admin1" />Admin1<br />
<input type="checkbox" name="role" value="Admin2" />Admin2<br />
<input type="checkbox" name="role" value="Admin3" />Admin3<br />
<input type="checkbox" name="role" value="Admin4" />Admin4<br />

我有一个角色列表,它来自服务器端,具有以下值:

Roles
{
Admin1
Admin4
}

现在根据Roles的值,将选项Admin1Admin4勾选复选框。我该如何使用jQuery实现这一点?


2
服务器返回的数据是什么?请发布实际值,而不是伪代码数组。 - Bojangles
数据来自 asp.net 端。Roles 对象是一个字符串数组,格式为:{ [0] = "Admin1" , [1] = "Admin4" }。 - Anirban
3个回答

4
$('input[value="Admin3"]').prop("checked", true);

1
我认为我必须在客户端使用each循环。您不能像这样硬编码:$('input[value="Admin3"]').prop("checked", true); - Anirban

1

也许这可以帮助您:

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    var peran = new Array("Admin1", "Admin4");
        $(document).ready(function() {
              $(".ceks").each(function(){
                var attrib = $(this).attr("value");
                for(var x=0; x<peran.length; x++){
                    if( peran[x] == attrib ){
                        $(this).attr("checked", "checked");
                    }
                }
              });
        });
    </script>
</head>
<body>

<input type="checkbox" name="role" value="Admin1" class="ceks" />Admin1<br />
<input type="checkbox" name="role" value="Admin2" class="ceks" />Admin2<br />
<input type="checkbox" name="role" value="Admin3" class="ceks" />Admin3<br />
<input type="checkbox" name="role" value="Admin4" class="ceks" />Admin4<br />

</body>
</html>

谢谢。虽然我看到你的帖子有点晚,但这是我做的方式。 - Anirban

0
如果这个页面是一个asp.net页面,为什么不在代码后台设置复选框呢?
IF (criteria is met)
    (checkboxID).selected = true
end if

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接