2015-10-13 11 views
5

Ich habe diese jquery http://hemantnegi.github.io/jquery.sumoselect/sumoselect_demo.html für Drop-Down-Auswahl mit Check-Boxeingestellten Grenzwert in Auswahl für Sumo Drop-Down-

<select multiple="multiple" class="SlectBox" name="cat_ids[]"> 
    <option value="op1">Options1</option> 
    <option value="op2">Options2</option> 
    <option value="op3">Options3</option> 
    <option value="op4">Options4</option> 
    <option value="op5">Options5</option> 
</select> 

Diese Dropdown funktioniert gut mit Check-Bogen Auswahlen verwendet. Aber ich möchte mit dieser Auswahl einige Einschränkungen für verschiedene Benutzer setzen.

Ich habe unten jQuery-Code versucht, aber es funktioniert nicht richtig

jQuery(document).ready(function($){ 

var last_valid_selection = null; 
    $('.SlectBox').change(function(event) { 
    if ($(this).val().length > 2) { 
     alert('You can only choose 2!'); 
     $(this).val(last_valid_selection); 
    } else { 
     last_valid_selection = $(this).val(); 
    } 
    }); }); 

Antwort

3

Sie können Sumo Methoden unSelectAll und selectItem und die triggerChangeCombined Option auf dem Plugin init verwenden.

Ref: http://hemantnegi.github.io/jquery.sumoselect/

Im Änderungsereignis, wenn die Grenze angehoben wird Sie alle und stellen Sie die letzte gültige Auswahl durch den Index jedes Elements deaktivieren können.

Code:

$('#island').SumoSelect({ triggerChangeCombined: true, placeholder: "TestPlaceholder" }); 

var last_valid_selection = null; 
$('#island').change(function (event) { 
    if ($(this).val().length > 2) { 
     alert('You can only choose 2!'); 
     var $this = $(this); 
     $this[0].sumo.unSelectAll(); 
     $.each(last_valid_selection, function (i, e) { 
      $this[0].sumo.selectItem($this.find('option[value="' + e + '"]').index()); 
     }); 
    } else { 
     last_valid_selection = $(this).val(); 
    } 
}); 

Demo: http://jsfiddle.net/IrvinDominin/80xLm01g/

+0

Dies funktioniert gut. Vielen Dank –

Verwandte Themen