我是jquery ui autocomplete的新手。我基本上使用带有ajax的自动完成功能,用PHP来获取用户列表。
autocompleteajax.js
$(function() {
$( "#ranksearch" ).autocomplete({
source: function( request, response ) {
console.log('in');
$.ajax({
url: "autocompleteajax.php",
dataType: "json",
data: {
q: request.term
},
success: function( data ) {
console.log(request);
console.log(data);
response(data);
}
});
},
});
});
和php返回的JSON看起来像这样
{3: "Tomek To", 4: "Tomek Kula"}
数字是userid,字符串是Firstname Lastname。在有人从自动完成列表中选择后,我想将选定的用户ID存储在某处。有没有简单的方法来实现它?
答案 0 :(得分:0)
感谢@ Dev.Joel的帮助,我找到了解决方案。
在php中我存储了像这样的用户
$users[] = array('value'=>$uid,'label'=>$uname);
然后我通过这样做获得了js中的值
$(document).ready(function () {
$('#ranksearch').on('autocompleteselect', function (e, ui) {
e.preventDefault(); // prevent the "value" being written back after we've done our own changes
this.label = ui.item.label;
$('#ranksearch').val(this.label);
console.log(ui.item.value);
});
});
有些事情被打破,同时我做了这个,我不得不给自己分配标签输入,因为它使用了价值。