2017-05-17 76 views
1

在一个网页,我有投入要素,如:如何选择多个条件

<input type="checkbox" data-initialstate="False"> 

当页面是内置服务器端的initialstate属性设置。

为了显示被禁用,并且现在已禁用所有复选框列表,我想提出一个jQuery选择,如:

$(input and value = true and data-initialstate = false) 

但我无法找到正确的语法。什么是正确的方法来做到这一点?

+0

_initialstate_是否在页面加载后进行操作? – Satpal

+0

不,它在页面构建期间由Razor引擎设置,并且永不改变。 – Maxime

回答

2

据推测,'值=真'你的意思是检查checboxes。如果是这样,要达到此目的,您可以使用:checked和属性选择器。试试这个:

var $checkboxes = $('input:checkbox:checked[data-initialstate="False"]'); 

不过请注意,如果data属性页面生命周期中修改这是不行的。在这种情况下,您需要使用filter(),如下所示:

var $checkboxes = $('input:checkbox:checked').filter(function() { 
    return !$(this).data('initialstate'); 
});