不能使用Select2以编程方式选择选项
Can't programmatically select option using Select2
我有一个Select2工作良好附加到一个选择列表,但当有人进入一个新的项目,我重新绑定选择列表,并尝试以编程方式选择新项目,它拒绝显示。
还有一些其他的帖子是这样的,但他们的解决方案不适合我。
- 使用
.select2("val", value)
。什么也不做。 - 使用
.select2("data", value)
。什么也不做。不知道这有什么不同。 - 使用
InitSelection
选项设置。这会导致以下错误消息:Uncaught Error: Option 'initSelection' is not allowed for Select2 when attached to a select element
.
BindDishes(RestaurantID); //rebinds the select list successfully
$('#hidDishID').val = data.DishID; //populates a hidden field
var arr = '[{id: "' + data.DishID + '", text: "' + data.DishName + '"}]';
$("#dd").select2("data", arr);
所以在这个最新的迭代中,我试图提供一个数组的id和文本从选择列表项作为另一个建议的解决方案,但仍然没有发生。我做错了什么?当使用Select2与选择列表时,这是不可能的吗?
编辑:我在MVC中有以下行,创建选择列表:
@Html.DropDownGroupListFor(m => m.DishID, Model.GroupedSelectList, "Select a dish", new { id="dd",style="width:470px;" })
,它必须通过从模型绑定到DishID而导致问题,该模型在来自服务器时最初是空白的。DropDownGroupListFor只是一个HTML助手,允许在选择中使用OptionGroups,但它必须是绑定的问题。这里最好的方法是什么,以不同的方式绑定或以某种方式更新模型的DishID,不确定最佳实践?
var $example = $(".js-example-programmatic").select2();
$example.val("CA").trigger("change");
您需要在添加/修改项之前销毁select2。如果你这样做了,那么你的select2就会像它的第一次绑定一样响应
相关文章:
- 以编程方式选择文本Mobile Safari
- Thunderbird,如何以编程方式选择第一个选项卡
- 如何使用OpenLayers以编程方式选择功能
- 地集.Tree + JsonRestStore - 使用 tree.set(“path”) 以编程方式选择节点
- 如何以编程方式选择树列表 (剑道) 中的节点
- 如何使用Chosen.JS多选以编程方式选择多个选项
- Jaegers选项卡以编程方式选择选项卡
- 如何在jquerymobile中以编程方式选择下拉列表的选项
- 以编程方式选择第N个选项选择
- JavaScript以类似CSS的方式选择元素
- 以编程方式选择剑道网格行
- 无法在datatable的drawCallback()中以编程方式选择行
- 不能使用Select2以编程方式选择选项
- 以编程方式选择jqgrid所有页面的所有行
- 如何以编程方式选择ng选项值
- PhoneGap iOS UIPicker等效元素:以编程方式选择一个选项值
- 在AngularJS指令中以编程方式选择Select box的空白选项
- 以编程方式选择远程视图
- Fabricjs -以编程方式选择对象以立即移动/拖动
- Regex的效率,更好的方式选择文本之间的html