点击选择2 +获取值

时间:2017-01-02 10:56:33

标签: javascript jquery html select2

我正面临一个问题,我想要点击事件的选择值。我尝试使用change事件,但我将所有值以逗号分隔而不是当前值。

我想要做的是,假设有多个选项,All选项。因此,如果用户选择All选项,则应清除所有选定的选项,并且仅显示All选项。

我试过以下代码

 $(".chzn-select").on('select2:selecting', function () {
   var st = ($(this).select2('val'));
 }

首次点击时会显示null

并且

 $(".chzn-select").on('change', function () {
   var st = ($(this).select2('val'));
 }

以逗号分隔格式显示所有值。我没有找到带有onclick JS的select2事件的示例。以下是events

的列表

HTML

<select name="country[]" multiple="" data-placeholder="Select country" class="form-control chzn-select" required="required" id="country">
     <option disabled="disabled" value="1">Abu Dhabi</option>
     <option value="2">Dubai</option>
     <option disabled="disabled" value="3">Singapore</option>
     <option disabled="disabled" value="4">Thailand</option>
     <option value="8">Afghanistan</option>
     <option value="All">All</option>
</select>

以下是jsfiddle

4 个答案:

答案 0 :(得分:2)

https://jsfiddle.net/bayahiassem/gtew005w/11/

public void test() {
  List<SomeBaseClass> a1 = new ArrayList<> ();
  List<SomeBaseClass> a2 = new ArrayList<> ();
  m(a1, a2); //compiles fine
}
public <T> void m(List<T> a1, List<T> a2) { }

答案 1 :(得分:0)

我没有得到你。 如果我更正。

$(this).select2('val').find(':selected'); 

答案 2 :(得分:0)

你在这里。它会给你当前选择的项目 - 按住ctrl进行多项选择

$(function () {
  $(".chzn-select").on('change', function (evt) {
    $('#selected').text('Selected: ' + ($(this).val()))
  })
})
select {
  width: 50%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="country[]" multiple="" data-placeholder="Select country" class="form-control chzn-select" required="required" id="country">
     <option disabled="disabled" value="1">Abu Dhabi</option>
     <option value="2">Dubai</option>
     <option disabled="disabled" value="3">Singapore</option>
     <option disabled="disabled" value="4">Thailand</option>
     <option value="8">Afghanistan</option>
     <option value="All">All</option>
</select>

<div id="selected"></div>

答案 3 :(得分:0)

我希望这会奏效,

 $(".chzn-select").select2({selectOnClose: true});
 $(".chzn-select").on("select2:select", function (evt) {
    if($.inArray('All',$(this).val()) != -1){
    $(this).val('All').trigger("change"); 
  }
 });

用这个替换你的js代码,它会起作用。

以下是工作代码的jsfiddle链接。