2016-03-04 88 views
1

发布版本(4.0.1选择)Select2 - 无法选择值?

HTML

<select id="search_customers" style="width: 300px;"></select> 

的Javascript:

$("#search_customers").select2({ 
    multiple: false, 
    allowClear: true, 
    ajax: { 
    url: "@Url.Action(" 
    SearchCustomers ", " 
    Home ")", 
    dataType: 'json', 
    delay: 250, 
    data: function(params) { 
     return { 
     id: params.term, // search term 
     }; 
    }, 
    processResults: function(data, params) { 
     return { 
     results: data 
     } // Data is a List<T> of id an text 
    }, 
    } 
}); 

下拉的作品,我可以看到我的记录,但是,当我点击的一个该框关闭的选项,并且未显示所选记录。我的盒子看起来像这样

capture

我用尽了一切我能想到的。该问题出现在所有浏览器中。正在返回的数据是ID /文本对的列表。

控制器代码

var customers = this.service.SearchCustomers(id).Select(x => new { id = x.CustomerID, text = x.CustomerName }).ToList(); 

return Json(customers, JsonRequestBehavior.AllowGet); 
+0

你能设置一个小提琴吗? –

+0

我可以,但我不知道如何假阿贾克斯请求.... – Calvin

+0

回声:http://doc.jsfiddle.net/use/echo.html – Leito

回答

0

我的客户ID的有出于某种原因前导空格。 (旧ERP系统),因此在客户ID的select语句中添加一个.Trim()调用修复了它。显然select2不喜欢“56”,但“56”很好!