我用来为select(使用Select2)设置加载时的默认值,代码如下:
$('#soff_gar').select2({placeholder: "Scegli",initSelection: true }).select2("val","<?PHP echo $garante; ?>");
在控制台上升级到版本4.0我读到:“Select2:select2(”val“)方法已被弃用,将在以后的Select2版本中删除.请改用$element.val().”所以我试着改变我的代码@H_403_5@
$('#soff_gar').select2({placeholder: "Scegli",initSelection: true }).val("<?PHP echo $garante; ?>");
要么@H_403_5@
$('#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.@H_403_5@
$("select").val("1"); // instead of $("select").select2("val","1");
@H_403_5@
所以,如果你有一个select元素:@H_403_5@
<select id="mySelect"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select>
在过去你会像这样初始化它:@H_403_5@
$( “#mySelect”)选择2()选择2( “VAL”,“奥迪”).@H_403_5@
这已被替换为:@H_403_5@
$("#mySelect").select2(); $("#mySelect").val("audi").trigger("change");
对你而言,我想这会转化为:@H_403_5@
$('#soff_gar').select2({ placeholder: "Scegli",initSelection: true }); $('#soff_gar').val(<?PHP echo $garante; ?>).trigger("change");
虽然,你是否有任何理由以编程方式进行此操作?@H_403_5@
参考我的例子,这也可以:@H_403_5@
<option value="audi" selected>Audi</option>
HTH@H_403_5@