我正在使用基于select2 ajax的jQuery来显示下拉列表。它的工作完美。现在我希望当用户点击select2框而不键入时,它将显示10条记录。我正在使用InitSelection,但它没有显示任何内容。代码是: -
var tags = [
{'id':1, 'text':'Ben'},
{'id':22, 'text':'Andrea'}
];
$('#form_fb_q').select2({
minimumInputLength: 2,
ajax: {
url: "/provisioning/api/facebook/default/",
cache: true,
dataType: 'json',
quietMillis: 250,
data: function (term, page) {
return {
q: term,
method: $('input[name=fb_search_by]:checked').attr('method')
};
},
results: function (data, page) {
return {
results: data.data
};
}
},
formatResult : function (entry) {
var markup = "<table class='entry-result'><tr>";
markup += '<td class="entry-image"><img src="http://graph.facebook.com/' + entry.id + '/picture?type=square"/></td>';
markup += "<td class='entry-info'><div class='entry-name'>" + entry.name + "</div>";
markup += "<div class='entry-likes'>" + entry.likes + " likes</div>";
markup += "</td></tr></table>";
return markup;
},
initSelection: function(element, callback) {
// alert("hahaha");
callback(tags);
},
formatSelection : function (entry) {
return entry.name;
},
dropdownCssClass: "bigdrop",
escapeMarkup: function (m) { return m; }
});
输入框为: -
<input id="form_fb_q" name="fb_q" value="111" >
请在我出错的地方帮助我。
答案 0 :(得分:5)
变化
minimumInputLength: 2
至
minimumInputLength: 0
这样你的ajax将在控件的初始下拉时被调用。一旦输入两个字母,您当前的配置只会进行ajax调用。