2011-11-24 53 views
0

我有几个多选框。用于选择框选项的jQuery选择器?

在每个框中,您可以点击几个选项以及类别“ALL”。

我想让它在您选择ALL时,该框中的其他选项被禁用。我需要有一种方法来选择框中的其他选项,但我不确定如何。

+0

类别全部 - 你的意思是?OPTGROUP – DrStrangeLove

+0

还是你的意思是,如果用户选择“全部”,所有其他选项都被取消选择? –

+0

是的戴夫,多数民众赞成我的意思 – user1015214

回答

0

我想这是你想要什么(工作示例:http://jsfiddle.net/k7X6T/):

$("#s").change(function(){ 
    var $this = $(this); 
    if($this.val() == "all") 
     $this.children("option").not("#all").prop("disabled", true); 
    else 
     $this.children("option").prop("disabled", false); 
}); 

<select id="s" multiple="multiple"> 
    <option value="all" id="all">All</option> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="mercedes">Mercedes</option> 
    <option value="audi">Audi</option> 
</select> 
+0

是的,这是我所要求的,但我后来意识到,这真的不是我想要的。它的工作方式,使其他选项被禁用,没有办法再次启用它们。我真正想要的是一旦他们已经选择ALL,就会不允许某人选择其他选项(因为ALL意味着“每个选项”) – user1015214

0

是否这样?

$("#Select1 option").attr('disabled', true); 
    $("#Select1 #AllOption").attr('disabled', false); 

    <select id="Select1"> 
      <option id="AllOption">ALL</option> 
      <option>Red</option> 
      <option>Green</option> 
      <option>Blue</option> 
    </select> 

首先禁用所有选项,然后启用要启用的选项。我给了它一个ID以使它更容易。