jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – select2和远程数据:预设值和文本,避免服务器往返大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在生成我的 HTML标签服务器端(asp.net mvc4).
我想预先设置我的HIDDEN字段的值和描述,避免使用ajax调用获取initSELEction函数中的数据.

我见过有人用javascript设置值:

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

但它仍然需要我额外的代码来实现已经从viewmodel中的服务器流式传输的东西.

我想出了这样的事情:

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

我已经使用HTML5数据属性数据选项和我的查找描述,我已经实现了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标签.

@H_301_49@

大佬总结

以上是大佬教程为你收集整理的jquery – select2和远程数据:预设值和文本,避免服务器往返全部内容,希望文章能够帮你解决jquery – select2和远程数据:预设值和文本,避免服务器往返所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。