使用自动填充选项发送其他数据

时间:2009-04-01 17:38:37

标签: javascript jquery autocomplete

我有一个自动填写人名的字段,所以它有“奥巴马,巴拉克”,“林肯,安倍”等选项。

这些人还有其他属性,比如“出生地”和“电话号码”。当用户从自动填充中选择一个选项时,我希望该人的附加属性能够自动填充隐藏的表单字段。

提供自动填充选项的Web服务也知道每个人的出生地和电话号码,因此可以将此数据发送给客户端。但是,我正在使用的jQuery自动完成插件不接受任何其他类似的数据 - 你只能给它自动完成选项。

关于如何做到这一点的任何想法?

3 个答案:

答案 0 :(得分:1)

使用YUI :)

处理所有这些,完全可以自定义。

答案 1 :(得分:1)

我不熟悉自动完成插件,但是:为什么不从服务器下载所有数据,然后只提供自动填充所需的内容。即

var persons = {
 abe: {
   name: 'abe',
   birthplace: 'I\'m not from the US so I have no clue'
  },
 Obama: {
   name: 'Obama',
   birthplace: 'please see abe'
 }
};

然后执行以下操作:

for(name in persons){
 feedAutocomplete(name); //or persons[name].name
}

或者如果您需要在一个数组中提供自动完成功能:

autoCompleteArray = Array();
for(name in persons){
 autoCompleteArray.push(name);
}
feedAutocomplete( autoCompleteArray );

onAutoComplete回调:

function onAutoComplete(name){
  //or if the currect value is not supplied in
  // the function: var name = $('#autocompleField').val();
  var personInfo = persons[name]; 
  $('#hiddenFieldBirthplace').val( personInfo.birthplace );
}

答案 2 :(得分:0)

我相信自动完成插件允许回调功能。您可以根据该函数中的用户选择填充隐藏字段。