如果可能,请稍等帮助,
我正在使用Codeigniter框架,我已经设法使用来自mysql数据库的信息来使jQuery自动完成工作。
但是在获取自动完成的结果以便在文本字段中显示其他信息方面有点停滞不前。
我现在只是试图绕过Jquery,但对它的了解非常有限,所以任何帮助或指针都会有很大的帮助。
我的JS代码
$(document).ready(function() {
$(function() {
$( "#Name" ).autocomplete({
source: function(request, response) {
$.ajax({ url: "<?php echo site_url('autocomplete/namesuggestions'); ?>",
data: { term: $("#Name").val()},
dataType: "json",
type: "POST",
success: function(data){
response(data);
}
});
},
minLength: 1
});
});
});
$(document).ready(function() {
$(function() {
$( "#Name" ).autocomplete({
source: function(request, response) {
$.ajax({ url: "<?php echo site_url('autocomplete/namesuggestions'); ?>",
data: { term: $("#Name").val()},
dataType: "json",
type: "POST",
success: function(data){
response(data);
}
});
},
minLength: 1
});
});
});
带两个输入框,其中ID为ID,另一个为地址
只是为了让事情变得更加混乱我可以在名称和地址中显示地址,以便在自动完成时显示在“名称”文本框中?
非常感谢任何帮助
答案 0 :(得分:1)
您必须映射ajax响应的响应并填写其他输入框onselect,您可以在自动完成中使用select:
选项,如下所示
var source_name = {
source:function(request, response){
$.getJSON('your url and parameter as get',function(data){
if(data != null){
response($.map(data, function (item) {
return {
value: item.name,
addr: item.addr
}
}));
}
});
},
select: function(event, ui){
$('#addr').val(ui.item.addr);
}
};
$('#Name').autocomplete( source_name);
如果您正在使用jquery ui并且正确返回json以获取值,这将正常工作。希望这可以帮到你。