php - 使用 php 作为远程源的 Jquery 自动完成 : how to append second variable from input to source

标签 php jquery autocomplete

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

过滤是通过 strassenliste.php 完成的,其中每个 keydown 都会使用 ?term 执行新的 php-call =123 被附加到 URL(这对我来说仍然足够快)。

还有最后一个问题需要解决:

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

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

然后,#strasse 的输入也将被附加,这已经可以工作:?term=[input]

我仍然无法工作的是参数zip(后跟&)被附加到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 提供固定值并简单地将源设置为 jQuery 部分中的 strassenliste.php 来测试它。

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

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

有人知道吗?

非常感谢您的任何提示!

最佳答案

问题是您的行 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();
    )};        

关于php - 使用 php 作为远程源的 Jquery 自动完成 : how to append second variable from input to source,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18424443/

相关文章:

android-studio - IDEA 中的 Gradle 自动完成功能在哪里?

javascript - 缓存 Jquery UI 自动完成组合框

Javascript 电话号码自动完成

php - Laravel 5 : Socket. 使用 Laravel session 数据的 io 客户端身份验证

javascript - json_encode unicode转义序列无法在javascript中显示

php - Laravel/MySQL 在 where 子句中使用计算别名列

javascript - Kendo UI 网格, Uncaught Error : Invalid Template

JavaScript 返回 [object 对象]

javascript - object.attr ('value' ) 返回属性值而不是属性值

php - WooCommerce 订阅 webhook 有效负载为空