Я создаю форму, которая требует автозаполнения с php-file качестве источника.
Фильтрация выполняется через strassenliste.php , в результате чего каждый отдельный strassenliste.php новый php-call с strassenliste.php ?term=123 к URL-адресу (это для меня все еще достаточно быстро).
Есть один последний вопрос, чтобы заставить работу работать:
У меня есть два поля ввода (первый – #plz , второй – #strasse ), где plz означает немецкий « zip » и strasse « street ». #strasse – это поле для автозаполнения (через ?term=... ).
Когда пользователь покидает первое поле ввода, а именно #plz ( onblur ), этот ввод ( zipcode ) должен храниться в переменной JavaScript и strassenliste.php к URL-адресу strassenliste.php в код автозаполнения jQuery, например, например: -> source: ' strassenliste.php?plz=12345& '.
Также будет добавлен вход #strasse , который уже работает #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 не проблема, это работает. Я протестировал его, strassenliste.php значение fix переменной $plz и просто установив источник в strassenliste.php в части jQuery.
Но у меня все еще есть проблема с jQuery-Part, которая является последним препятствием для ее работы.
Во-вторых, вопросник в автозаполнении [term =] может не отображаться, так как он будет добавлен перед « plz=12345 ».
У кого-нибудь есть ключ?
Большое вам спасибо за любой намек!
Проблема в том, что ваша строка var url = "strassenliste.php" + "?=&" + plz; не может видеть переменную plz поскольку она находится в рамках функции blur .
Вы также форматируете переменные GET странно в URL-адресе. Обычный способ – myURl.php?var1=Helmut&var2=Thielicke .
Попробуй это:
$(function() { $("#plz").blur(function () { var plz = $(this).val(), url = "strassenliste.php" + "?plz=" + plz; $("#strasse").autocomplete({ source: url }); }).keyup(); )};