다윗은
키를 백업에서 새로운 용어와 내 웹 서비스를 호출 한 다음 자동 완성에 반환 된 결과를 넣어 ... 내가 무슨 짓을했는지. 또한 결과가 캐싱됩니다.
사용자가 계속해서 값을 배열에 포함했는지 확인하여 값이 엉망이되지 않도록합니다.
function setVendorLookup() {
var term = $(this).val().toLowerCase();
if (term.length > 2) {
if (vendors.join(" ").toLowerCase().indexOf(term) == -1) { //some caching
vendors = [];
$().SPServices({
operation: "GetListItems",
listName: "Yellow Pages",
async: false,
CAMLViewFields: "<ViewFields><FieldRef Name='VENDOR_ID'/><FieldRef Name='NAME1'/><FieldRef Name='CITY'/><FieldRef Name='STATE'/></ViewFields>",
CAMLQuery: "<Query><Where><Or><Contains><FieldRef Name='VENDOR_ID' /><Value Type='Text'>" + term + "</Value></Contains>" +
"<Contains><FieldRef Name='NAME1' /><Value Type='Text'>" + term + "</Value></Contains></Or></Where></Query>",
completefunc: function (xData, Status) {
$(xData.responseXML).find("[nodeName='z:row']").each(function() {
vendors.push($(this).attr("ows_VENDOR_ID") + " - " + $(this).attr("ows_NAME1") + ", " + $(this).attr("ows_CITY") + ", " + $(this).attr("ows_STATE"));
});
}
}); //SPServices
}
$(".vendor").autocomplete({
source: vendors,
minLength: 3
});
} else
vendors = [];
}
function validate()
{
if (jQuery.inArray($(".vendor").val(), vendors) == -1) {
myAlert("Validation Error", "Please select a valid vendor");
return false;
}
}
jQueryUI 자동 완성 기능을 사용하고 있습니까? –
예, object.autocomplete –