gpt4 book ai didi

jquery - select2和远程数据: pre-set value and text avoiding server round-trip

转载 作者:行者123 更新时间:2023-12-03 22:56:50 26 4
gpt4 key购买 nike

我正在服务器端生成 HTML 标签 (asp.net mvc4)。
我想预先设置 HIDDEN 字段的值和描述,避免使用 ajax 调用来获取 initSelection 函数中的数据。

我见过有人使用 javascript 设置值:

$("#select2Test").select2('data', { id: 20832, text: 'LONDON' })

但仍然需要我额外的代码来实现已经从服务器在 View 模型中流式传输的东西。

我想出了这样的方法:

<input type="hidden" id="select2Test" name="select2Test" value="20832" data-option="LONDON" />

我使用了 HTML5 数据属性 data-option 来描述我的查找,并实现了 initSelection 函数,以便我可以读取字段的值及其数据属性:

initSelection: function (item, callback) {
var id = item.val();
var text = item.data('option');
var data = { id: id, text: text };
callback(data);
},

我发现只有当隐藏字段设置了值时才会调用 initSelection。
一切似乎都运转正常。

还有更好的选择吗?

最佳答案

data-option 与自定义 initSelection 相结合就达到了目的。

    $("#lookup_id").select2({
minimumInputLength: 3,
multiple: false,
allowClear: true,
ajax: {
url: urlFetchCity,
dataType: 'json',
type: "POST",
data: function (term, page) { return { city: term }; },
results: function (data, page) {
return {
return {results: data};
};
}
},
initSelection: function (item, callback) {
var id = item.val();
var text = item.data('option');
var data = { id: id, text: text };
callback(data);
},
formatResult: function (item) { return ('<div>' + item.id + ' - ' + item.text + '</div>'); },
formatSelection: function (item) { return (item.text); },
escapeMarkup: function (m) { return m; }
});

对于那些感兴趣的人,我创建了一个 GitHub repository您可以在其中找到一个 ASP.NET MVC4 项目,我在其中添加了一个 html 帮助程序来创建具有客户端验证所有功能的 select2 标记。

关于jquery - select2和远程数据: pre-set value and text avoiding server round-trip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16593180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com