我正在尝试使用bootstrap 3和select2.js插件来使用ASP.NET webform。它不会返回任何错误或异常,只是坐在那里看着我。这是页面:
<div id="divDepartmentEntry">
<label>Enter Name:<br /></label>
<select id="e1" style="width:300px"></select>
</div>
这是javascript:
$(document).ready(function () {
$("#e1").select2();
});
$("#e1").select2({
minimumInputLength: 2,
ajax: {
url: "Default_handler2.ashx",
cache: false,
dataType: 'json',
type: 'GET',
data: function (term, page) {
return {
q: term // search term
};
},
results: function (data, page) {
return { results: data };
}
},
formatResult: format,
formatSelection: format
});
function format(item) {
return item.tag;
}
在通用处理程序中:
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string result = "[{\"tag\":\"Smith\",\"id\":1},{\"tag\":\"Brown\",\"id\":14}]";
context.Response.Write(result);
}
我可以在打开的输入中输入文字,但它在IE8(我知道,不要让我开始)或Chrome中都没有任何作用。有什么想法吗?
答案 0 :(得分:0)
尝试在.ready中包含对你拥有的.select2的第二次调用:
$(document).ready(function () {
$("#e1").select2({
minimumInputLength: 2,
ajax: {
url: "Default_handler2.ashx",
cache: false,
dataType: 'json',
type: 'GET',
data: function (term, page) {
return {
q: term // search term
};
},
results: function (data, page) {
return { results: data };
}
},
formatResult: format,
formatSelection: format
});
});
您的处理程序也应该使用json内容类型进行响应:
context.Response.ContentType = "application/json";