我正在使用Oleg的select2演示程序,但是我想知道是否有可能在下拉菜单中更改当前选择的值。
例如,如果加载的四个值是:"Any", "Fruit", "Vegetable", "Meat"
并且下拉列表默认为"Any"
,则如何"Fruit"
在JqGrid事件中将其更改为loadComplete
?
这可能吗?
对于select2版本> = 4.0.0
其他解决方案可能不起作用,但是以下示例应该起作用。
$('select').val('1').trigger('change');
$('select').val('1').trigger('change.select2');
有关这些示例,请参见此jsfiddle。感谢@minlare提供解决方案2。
假设我有一个最好的朋友,请选择人名。因此,Bob,Bill和John(在此示例中,我假设Value与名称相同)。首先,我在自己的选择上初始化select2:
$('#my-best-friend').select2();
现在,我在浏览器中手动选择Bob。接下来鲍勃做了一些调皮的事,我不再喜欢他了。因此系统为我取消选择了Bob:
$('#my-best-friend').val('').trigger('change');
或说我让系统选择列表中的下一个而不是Bob:
// I have assume you can write code to select the next guy in the list
$('#my-best-friend').val('Bill').trigger('change');
关于Select 2网站的注释(请参阅不建议使用和删除的方法),可能对其他人有用:
.select2('val') “ val”方法已被弃用,并将在Select2 4.1中删除。不推荐使用的方法不再包含triggerChange参数。
您应该改为直接在基础元素上调用.val。如果需要第二个参数(triggerChange),则还应该在元素上调用.trigger(“ change”)。
$('select').val('1').trigger('change'); // instead of $('select').select2('val', '1');
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句