2016-10-20 8 views
0

Ici, j'empêche les sélections multiples de même valeur. Même la valeur NA est désactivée comment empêcher la désactivation de la valeur NA?La sélection de la valeur "NA" de la première liste déroulante ne doit pas être désactivée Valeur "NA" de la deuxième liste déroulante

Demo Link

Code Html:

<label>1st dropdown</label> 
<select id="select1"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
    <option value="4">4</option> 
    <option value="NA">NA</option> 
</select> 
<br /> 
<hr/> 
<label>2nd dropdown</label> 
<select id="select2"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
    <option value="4">4</option> 
    <option value="NA">NA</option> 
</select> 

Code Js:

$("select").change(function() 
    { 
    $("select option").attr("disabled",""); //enable everything 
     //collect the values from selected; 
     var arr = $.map 
     (
      $("select option:selected"), function(n) 
      { 
        return n.value; 
       } 
     ); 

    $("select option").filter(function() 
     { 

      return $.inArray($(this).val(),arr)>-1; 
     }).attr("disabled","disabled"); 

    }); 

Répondre

2

Vous pouvez utiliser quelque chose comme:

return ($.inArray($(this).val(),arr)>-1 && $(this).val() !== 'NA'); 

dans votre filter amusant ction.

+0

@SVK l'a-t-elle aidé? – Sajan

+0

oui .. merci .. :) – SVK