动态添加 optgroup 列表

Posted

技术标签:

【中文标题】动态添加 optgroup 列表【英文标题】:Dynamically adding optgroup list 【发布时间】:2014-10-23 09:47:38 【问题描述】:

我正在尝试让 jQuery 插件 select2 使用 json 动态更新

JSON 'optionString':

["text":"A","children":["id":"313","name":"Adair, Graham"],"text":"B","children":["id":"396","name":"Boots, Benjamin"],"text":"M","children":["id":"616","name":"Marshall, James","id":"361","name":"Montgomery, Kirsty"]]

和 select2 javascript

var names = jQuery.parseJSON(optionString);

function format(item)  return item.name; ;
$("#nameSearchSel").select2(
        placeholder: "Name Search",
        data: results: names, text: 'name' ,
        formatSelection: format,
        formatResult: format,
);

html

<input id="nameSearchSel" type="hidden" style="width:190px;"/>

这会更新 select2,但会删除所有 optgroup。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

解决了...

在 JSON 中改变了这个('name' 到 'text'):

["text":"A","children":["id":"313","text":"Adair, Graham"],"text":"B","children":["id":"396","text":"Boots, Benjamin"],"text":"M","children":["id":"616","text":"Marshall, James","id":"361","text":"Montgomery, Kirsty"]]

这在 javascript ('name' to 'text'):

var names = jQuery.parseJSON(optionString);

function format(item)  return item.text; ;
$("#nameSearchSel").select2(
        placeholder: "Name Search",
        data: results: names, text: 'text' ,
        formatSelection: format,
        formatResult: format,
);

【讨论】:

以上是关于动态添加 optgroup 列表的主要内容,如果未能解决你的问题,请参考以下文章

在 Select2 中动态添加选项和 optgroup

如何将 optgroups 添加到 django ModelMultipleChoiceField?

Select2:动态隐藏某些 optgroup

动态列表视图打开一个动态列表视图

js中如何动态的将字典添加到列表中

动态添加列表