如何使Jquery Select2与ASP MVC 3一起使用

时间:2012-12-26 20:08:14

标签: asp.net-mvc-3 jquery-select2

我最近一直在与Jquery Select2(Select2)挣扎,试图实现从ASP MVC ActionResult获取数据的ajax回调。

这是我的HTML代码:

<input type="hidden" id="e2" style="width: 500px;">

这是js代码:

<script>
$(document).ready(function(){

    $("#e2").select2({
        minimumInputLength: 1,
        ajax:{
          url: "http://localhost:1800/Test/GetCountries",
            dataType:"jsonp",
            data: function(term, page){
                return {
                    query: term
                };
            },
            results: function(data){
                return {
                    results: data
                };
            }
        }
    });

});

GetCountries函数非常简单,只返回与搜索词匹配的国家/地区。这是搜索“联合”一词时的示例:

[{"id":"AE","text":"United Arab Emirates"},{"id":"UK","text":"United Kingdom"},{"id":"US","text":"United States"}]

我尝试过将来自application / json的格式来回更改,但没有成功。我想我在json上遗漏了一些东西,我的功能正在返回,但三个小时后我仍然不知道这里可能出现什么问题。

当我查看网络标签上的Chrome调试器时,似乎调用了该​​功能并正在发送数据。但是,当我输入字母时,没有任何显示,它只是永远显示“搜索...”文本。

如果有人遇到同样的情况,请分享您的想法。提前谢谢。

2 个答案:

答案 0 :(得分:0)

自从我要求这个问题以来已经有一段时间了。我没有时间让Select2工作,虽然默认的Bootstrap的Typeahead可以解决这个问题。

所以,如果有人来,不要打扰回答。

答案 1 :(得分:0)

这里的问题是

dataType:"jsonp"

解决方案:

 dataType:"json"

查看更多What is JSONP all about?