jquery – Select2设置选定值的新方法

前端之家收集整理的这篇文章主要介绍了jquery – Select2设置选定值的新方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我用来为select(使用Select2)设置加载时的默认值,代码如下:
$('#soff_gar').select2({placeholder: "Scegli",initSelection: true }).select2("val","<?PHP echo $garante; ?>");

在控制台上升级到版本4.0我读到:“Select2:select2(”val“)方法已被弃用,将在以后的Select2版本中删除.请改用$element.val().”所以我试着改变我的代码

$('#soff_gar').select2({placeholder: "Scegli",initSelection: true }).val("<?PHP echo $garante; ?>");

要么

$('#soff_gar').select2({placeholder: "Scegli"}).val("<?PHP echo $garante; ?>");

但它们都不起作用.我究竟做错了什么?任何提示

解决方法

the release notes开始:

You should directly call .val on the underlying element
instead. If you needed the second parameter (triggerChange),you
should also call .trigger(“change”) on the element.

$("select").val("1"); // instead of $("select").select2("val","1");

所以,如果你有一个select元素:

<select id="mySelect">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

在过去你会像这样初始化它:

$( “#mySelect”)选择2()选择2( “VAL”,“奥迪”).

这已被替换为:

$("#mySelect").select2();
$("#mySelect").val("audi").trigger("change");

对你而言,我想这会转化为:

$('#soff_gar').select2({
  placeholder: "Scegli",initSelection: true 
});
$('#soff_gar').val(<?PHP echo $garante; ?>).trigger("change");

虽然,你是否有任何理由以编程方式进行此操作?

参考我的例子,这也可以:

<option value="audi" selected>Audi</option>

HTH

猜你在找的jQuery相关文章