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; ?>");

但它们都不起作用。我究竟做错了什么?有什么提示吗?

詹姆斯·希伯德

发行说明中

您应该直接在基础元素上调用.val。如果需要第二个参数(triggerChange),则还应该在元素上调用.trigger(“ change”)。

$("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").select2().select2("val","audi");

已被替换为:

$("#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>

高温超导

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章