如何使用jQuery一次性禁用多个列表框?

时间:2009-11-09 17:35:16

标签: jquery listbox

我可以通过这样做来禁用一个和一个:

jQuery('#ListBoxA').attr('disabled','true');

但是如何将它应用于多个项目?这不起作用:

jQuery('#ListBoxA, #ListBoxB, #ListBoxC').attr('disabled','true');

更新

显示的标记不多....

<select id="ListBoxA" size="4" name="countrySelectBox">
<select id="ListBoxB" size="4" name="cityListBox">
<select id="ListBoxC" size="4" name="storeListBox" multiple="multiple">

5 个答案:

答案 0 :(得分:6)

jQuery('#ListBoxA,#ListBoxB,#ListBoxC').attr('disabled','disabled');(没有空格)。

启用jQuery('#ListBoxA,#ListBoxB,#ListBoxC').removeAttr('disabled');

http://docs.jquery.com/Selectors/multiple#selector1selector2selectorN

答案 1 :(得分:1)

对于另一个选项,如果你给他们所有的CSS类,你可以这样做:

jQuery('.ListBoxClass').attr('disabled', true);

答案 2 :(得分:1)

如果要禁用的框共享属性,也可以使用属性过滤器(在这种情况下,任何一个属性为'ListBox'的ID:

$("select[id*='ListBox']").attr('disabled',true);

答案 3 :(得分:0)

jQuery('select').each(function(){
    jQuery(this).attr('disabled','true');
});

答案 4 :(得分:0)

问题出在空白处

对于禁用项目:

$("#ListBoxA,#ListBoxB,#ListBoxC").prop("disabled", true);

用于启用项目:

$("#ListBoxA,#ListBoxB,#ListBoxC").prop("disabled", false);