我的剃刀视图中有以下脚本: -
$("#Technology2_Tag").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Switch/AutoComplete2",
dataType: "json",
minLength: 3, delay: 1000,
data: {
term: request.term,
SearchBy: $("#ChoiceTag").prop("checked") ? $("#ChoiceTag").val() : $("#ChoiceName").val(),
},
success: function (data) {
response(data);
}
});
},
});
目前autocomplete
在键入第一个字符后触发,而不是在minLength
设置中提到的至少输入3个字符后触发。任何人都可以建议可能出现的问题吗?
由于
答案 0 :(得分:4)
您要在 ajax 属性中添加自动填充属性,请按以下方式进行更改:
$("#Technology2_Tag").autocomplete({
minLength: 3,
delay: 1000,
source: function (request, response) {
$.ajax({
url: "/Switch/AutoComplete2",
dataType: "json",
data: {
term: request.term,
SearchBy: $("#ChoiceTag").prop("checked") ? $("#ChoiceTag").val() : $("#ChoiceName").val(),
},
success: function (data) {
response(data);
}
});
}
});
答案 1 :(得分:1)
我认为minLength和delay应该在source的定义之外定义:
$("#Technology2_Tag").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Switch/AutoComplete2",
dataType: "json",
data: {
term: request.term,
SearchBy: $("#ChoiceTag").prop("checked") ? $("#ChoiceTag").val() : $("#ChoiceName").val(),
},
success: function (data) {
response(data);
}
});
},
minLength: 3,
delay: 1000,
});