我想使用jQuery的autocomplete插件在选择其中一个自动完成值时填充不是一个,而是填充两个字段 - 在#band输入字段中输入一个波段的名称,但是波段网址(如果存在)也应在选择乐队名称时自动添加到#url输入字段。
现在我只是在外部php文件中有一个非常漂亮的列表,autocompleter从中获取它的值:
$bands_sql = "SELECT bands.name, bands.url
FROM bands
ORDER BY name";
$bands_result = mysql_query($bands_sql) or print (mysql_error());
while ($bands_row = mysql_fetch_array($bands_result)) {
$band_name = $bands_row['name'];
$band_url = $bands_row['url'];
echo $band_name."\n"; #needs to be replaced with an array that holds name and url
}
我的自动完成功能看起来非常基本atm,但由于我是一个绝对的初学者,当涉及到jQuery(并且在涉及到PHP数组时也毫无头绪),我不知道如何告诉它填充两个字段而不是一。
$(document).ready(function() {
$("#band").autocomplete('/autocomplete-bands.php');
});
这甚至可能吗?!
答案 0 :(得分:1)
请务必选中result hadler,这样您就可以在做出选择后做您想做的事了
答案 1 :(得分:1)
以下是您正在寻找的示例:
$("#band").autocomplete('/autocomplete-bands.php').result(function(event, data, formatted) {
if (data)
$('#url').(data['url']);
else {
// no data returned from autocomplete URL
}
});
我对php知之甚少,但无论您返回的数据格式是什么,都应放在data['url']
当前的位置,以填充#url
输入。
答案 2 :(得分:1)
我不知道您使用的特定插件,但我会使用autocomplete widget代替jQuery UI代替第三方插件。