即使选择了某个值,jQuery / Select2也会触发

时间:2016-05-19 09:22:49

标签: jquery select dropdown select2

我正在使用Select2作为下拉列表,我想要做的是当选择下拉列表中的某个值来触发事件时(例如警报)

我已经尝试了以下方法,但没有成功:

$(".js-dropdown").val(2)(function() {
  console.log("val2 selected")
});

$(function() {
  $('select').select2()
    .val("2", function(e) {
      console.log("value changed");
    })
});

我做错了什么?

我的选择2:

$(".js-dropdown").select2({
  placeholder: "Text",
  allowClear: false,
  closeOnSelect: false
});

Codepen

1 个答案:

答案 0 :(得分:1)

如果选择的值为2

,则绑定change event处理程序并调用函数



var $sel = $(".js-dropdown");
$sel.select2({
  placeholder: "Text",
  allowClear: false,
  closeOnSelect: false
});

$sel.change(function() {
  if (this.value == 2)
    alert('2')
})

body {
  font-family: helvetica;
  font-weight: bold
}

<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.2/css/select2.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.2/js/select2.min.js"></script>
<select class="js-dropdown" style="width: 220px;">
  <option></option>
  <option value="1">Dropdown-1</option>
  <option value="2">Dropdown-2</option>
  <option value="3">Dropdown-3</option>
  <option value="4">Dropdown-4</option>
  <option value="5">Dropdown-5</option>
  <option value="6">Dropdown-6</option>
  <option value="7">Dropdown-7</option>
</select>
&#13;
&#13;
&#13;

相关问题