我正在使用JQuery从远程数据库中自动完成名称...这一切都正常。
但是,我想从自动完成中获取与该名称相关的所有信息,并将其保存到php数组......
有人可以帮忙吗?
这是我自动填充的代码
<script type="text/javascript">
$(function() {
$("#findname").autocomplete({
source: "templates/search2.php?field=sire",
minLength: 5
});
});
</script>
以下是我称之为......
<input type="text" name="name" id = "findname" size="45"><br>
所以,当我找到我正在寻找的名称时,哪个工作正常,如何返回该命名记录的所有数据并存储到数组中,然后用数据调用模态?
由于
答案 0 :(得分:0)
如果我理解你的问题,你想得到一个工人的数据以模态显示,那么,首先你需要在一次通话中获得你想要的所有数据,而不仅仅是名字,还有邮件,年龄或其他属性,然后将其保存在对象中。
例如:
在您拨打信息后,您应该得到以下信息:
var workersData=[{name:"a1",mail:"m1",age:20},
{name:"a2",mail:"m2",age:20},
{name:"a3",mail:"m3",age:20},
{name:"a4",mail:"m4",age:20}];
然后创建一个方法来获取所有名称并将此数组放入自动完成输入中:
function listStringsFromArray(list, atribute) {
var arrayString = [];
if (list) {
for (var index = 0; index < list.length; index++) {
arrayString.push(list[index][atribute]);
}
}
return arrayString;
}
$("#findname").autocomplete({
source: listStringsFromArray(workersData,"name"),
minLength: 5
});
最后为输入添加一个方法,以便随时更改,以搜索workers数组中的其余数据并将信息放在所需的位置:
$("#findname").keypress(function(e){
fillDataModalWorker(); });
function fillDataModalWorker(){
var workerName=$("#findname").val();
var mail,age;
for (var index = 0; index < workersData.length; index++) {
if(workersData[index]["name"]==workerName){
mail=workersData[index]["mail"];
age=workersData[index]["age"];
$("#inputMailModal").val(mail);
$("#inputAgeModal").val(age);
break;
}else{
$("#inputMailModal").val("Worker´s information not found");
$("#inputMailModal").val("Worker´s information not found");
}
}
}
希望它能解决。