2

我正在构建一个需要使用php-file源自动完成的表单。

过滤是通过 完成的strassenliste.php,每一个keydown都做一个新php-call?term=123附加到 URL (这对我来说仍然足够快)。

最后一个问题可以使事情正常工作:

我有两个输入字段(第一个是#plz,第二个是#strasse),其中plz表示德语“ zip”和 strasse“ street”。#strasse是要自动完成的字段(通过?term=...)。

当用户离开第一个输入字段,即#plz( onblur) 时,该输入 ( zipcode) 应存储在 JavaScript 变量中,并附加到strassenliste.phpjQuery 自动完成代码中的 URL,例如 --> source: ' strassenliste.php?plz=12345&'。

then的输入#strasse也将被附加,这已经有效:?term=[input].

我仍然没有得到工作的是参数zip(后跟 a &)被附加到 URL strassenliste.php

因此,自动完成代码中的源应该是 URL --> strassenliste.php?plz=12345&[term=...]

这是我已经拥有的代码:


JavaScript 部分:

<script>
$("#plz").blur(function () {
var plz = $(this).val();
}).keyup();
var url = "strassenliste.php" + "?=&" + plz;

$(function() {
$( "#strasse" ).autocomplete({
source: url   
});

...

</script>

PHP部分:

$plz = $_GET['plz'];
$term = $_GET['term'];


[SOAP-Call and response]
...

foreach ($sxe->searchresults as $searchresults) {
$array[] = utf8_encode($searchresults->strasse);

sort ($array);

$strassen = "[";
foreach ($array as $key => $val) {
$strassen .= utf8_decode("\"" . ($val) . "\",");
}
$strassen .= "\"\"";

$length = strlen($strassen);
$strassen = substr($strassen, 0, $length - 3);

$strassen .= "]";

echo ($strassen);

PHP不是问题,这是可行的。我通过为变量提供一个固定值$plz并简单地将源设置为strassenliste.phpjQuery 部分来测试它。

但是我仍然对 jQuery-Part 有疑问,这是让它工作的最后一个障碍。

第二个是自动完成中的问号[term =]可能不会出现,因为它已经附加在“ plz=12345”前面。

有人有线索吗?

非常感谢您的任何提示!

4

1 回答 1

1

问题是您的行var url = "strassenliste.php" + "?=&" + plz;看不到变量plz,因为它在函数的范围内blur

您还在 URL 中奇怪地格式化了 GET 变量。正常的方式是myURl.php?var1=Helmut&var2=Thielicke

尝试这个:

    $(function() {        
        $("#plz").blur(function () {
            var plz = $(this).val(),
                url = "strassenliste.php" + "?plz=" + plz;

            $("#strasse").autocomplete({
                source: url   
            }); 
        }).keyup();
    )};        
于 2013-08-25T00:45:38.623 回答