Вот как я использую его для списка информации о пользователях, который представляет собой список всех пользователей с разрешениями на этот сайт.select: function(e, ui){}
- это функция, которая вызывается при выборе чего-либо из поля автозаполнения.
<link href="../css/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../js/jquery.min.js"></script>
<script type="text/javascript" src="../js/jquery-ui.js"></script>
<script type="text/javascript" src="../js/jquery.SPServices-0.5.8.js"></script>
<script type="text/javascript">
$(document).ready (function() {
$().SPServices({
operation: "GetListItems",
async: true,
listName: "User Information List",
CAMLViewFields: "<ViewFields>" +
"<FieldRef Name='Title' />" +
"<FieldRef Name='MobilePhone' />" +
"<FieldRef Name='Picture' />" +
"<FieldRef Name='SPSResponsibility' />" +
"<FieldRef Name='Name' />" +
"</ViewFields>",
completefunc: AttachMembersAutoComplete
});
});
function AttachMembersAutoComplete(xmlResponse) {
var domElementArray = $( "[nodeName=z:row]", xmlResponse.responseXML );
var dataMap = domElementArray.map(function() {
return {
value: $(this).attr('ows_Title'),
mobile: $(this).attr('ows_MobilePhone'),
picture: $(this).attr('ows_Picture'),
askmeabout: $(this).attr('ows_SPSResponsibility'),
name: $(this).attr('ows_Name')
};
});
var data = dataMap.get();
$("input#inputMembersAutoComplete").autocomplete({
source: data,
select: function(e, ui){
window.alert(ui.item['askmeabout'] + "\n" + ui.item['name']);
if(ui.item['picture'] != undefined) {
var tmpPicture = ui.item['picture'];
var commaIndex = tmpPicture.indexOf(',');
tmpPicture = tmpPicture.substr(0,commaIndex);
}else{
var tmpPicture = "/_layouts/images/person.gif";
}
var tmpHTML = "<div>";
tmpHTML += "<a href='/Person.aspx?accountname=" + ui.item['name'] + "' >";
tmpHTML += "<p>"+ ui.item['value'] + " " + ui.item['mobile'] + "</p>";
tmpHTML += "</a>";
tmpHTML += "<img src='"+ tmpPicture + "' />";
tmpHTML += "</div>";
$("#person_info").html(tmpHTML);
}
});
}
</script>