我有以下问题: 我尝试使用多个输入字段创建自动完成,而不刷新页面。第一个字段内容街道名称。第二个应显示可用的街道号码。我的JS看起来像这样:
$('input#strasse').on('blur', function() {
var hausnummer1 = $('input#strasse').val();
if ($.trim(strasse) != '') {
$.post('ajax/strasse.php', {hausnummer1: hausnummer1}, function(data) {
$('div#hausnummer1-data').text(data);
});
}
});
所以,我在主页上得到了数组:
<div id="hausnummer1-data"></div>
正确显示数据。现在,我不会在主页面上将此数组声明为源N°2:
$(function() {
var availableTags = <?php echo json_encode($array); ?>;//streets from query
var availableTags2 = ?;
$("#strasse").autocomplete({
source: availableTags
});
$("#hausnummer1").autocomplete({
source: availableTags2
});
});
Javascript不是我的事。我没有进一步说明这一点。我感谢任何帮助。
strasse.php
require '../connect.php';
$query2 = mysql_query("SELECT distinct(HAUSNRZAHL1) as HAUSNRZAHL1 FROM adresse.90101strasse where STRASSENNAME = '" . mysql_real_escape_string(trim($_POST['strasse'])) . "'");
$array2 = array();
while ($row2 = mysql_fetch_assoc($query2)) {
$array2[] = $row2['HAUSNRZAHL1'];
}
echo json_encode($array2);
答案 0 :(得分:0)
假设ajax / strasse.php返回完成json,这应该可以工作:
$.post('ajax/strasse.php', {hausnummer1: hausnummer1}, function(data) {
$("#hausnummer1").autocomplete({
source: data
//or maybe
source: $.parseJson(data)
});
});
顺便说一下,为什么要写$('div#hausnummer1-data')
而不只是$('#hausnummer1-data')
?