我如何用JqGrid改变select2下拉菜单的选择值?

我正在使用Oleg'的select2 demo,但我想知道是否有可能改变下拉菜单中的当前选定值。

例如,如果加载的四个值是。"Any", "Fruit", "Vegetable", "Meat",而下拉列表默认为"Any",我如何能够在JqGrid事件loadComplete中将其改为"Fruit"

这可能吗?

看一下select2 docs,你用下面的方法来获取/设置值。

$("#select").select2("val"); //get the value
$("#select").select2("val", "CA"); //set the value

@PanPipes指出,这在4.x版本中有所改变(去给他投个赞许票吧)。val现在被直接调用

$("#select").val("CA");

所以在jqGrid的loadComplete中,你可以得到你要找的任何值,然后设置选择框的值。

从文档中注意到

注意,为了使用这个方法,你必须在选项中定义 在选项中定义initSelection函数,这样Select2就知道如何 将你在val()中传递的对象的id转换为它需要的完整对象 > 需要渲染选择。如果你是附加到一个选择元素 这个函数已经为你提供了。

评论(8)
this.$("#yourSelector").select2("data", { id: 1, text: "Some Text" });

这应该是有帮助的。

评论(1)

只是想补充第二个答案。如果你已经了select作为select2,你将需要在你的选择器中反映出来,如下所示。

$("#s2id_originalSelectId").select2("val", "value to select");
评论(0)