2017-01-29 2 views
0

Ich versuche, eine div-Show zu haben, wenn 2 Optionen in einer select2-Box mit jquery gewählt werden, aber nicht erfolgreich sind.Select2 mehrere Werte und wenn/dann

Zum Beispiel - meine Wahl zwischen 2 ersten und einem zweiten:

<select id="choose1" multiple="multiple"> 
<option value="first">First</option> 
<option value="second">Second</option> 
</select> 

Ich habe 2 Divs, die versteckt:

<div id="first"> 
ABC 
</div> 
<div id="second"> 
XYZ 
</div> 

$('#first').hide(); 
$('#second').hide(); 

Und nun meine Jquery die divs zeigen:

$('#choose1').select2(); 

$('#choose1').change(function() { 
    var val = $(this).val(); 
    var x = 'first'; 
    var y = 'second' 
    var z = ['first','second']; 

    if (val == x) { 
     $('#first').show(); 
    } 

    else if (val == y) { 
    $('#second').show(); 
    } 

    else if (val == z) { 
    $('#first').show(); 
    $('#second').show(); 
    } 

    }); 

Irgendwelche Ideen, wie ich das zum Laufen bringen kann?

Danke.

Antwort

1

eine Klasse zu Ihrem divs

<div class="option-div" id="first">ABC</div> 
<div class="option-div" id="second">XYZ</div> 

hinzufügen Und Ihre js ändern diese Zuhörer in Ihre Änderung zu verwenden:

$('#choose1').change(function() { 
    $(".option-div").hide(); 
    $.each($(this).val(), function(i, v){ 
     $("#" + v).show(); 
    }); 
}); 

Demo

https://jsfiddle.net/Leankppt/

Verwandte Themen