jquery将post数组传递给自动完成源

时间:2015-09-26 20:14:55

标签: jquery arrays autocomplete

我有以下问题: 我尝试使用多个输入字段创建自动完成,而不刷新页面。第一个字段内容街道名称。第二个应显示可用的街道号码。我的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); 

1 个答案:

答案 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')