Php 使用ajax自动完成

Php 使用ajax自动完成,php,ajax,Php,Ajax,也许你可以帮助解决一些ajax问题 我有自动完成的代码-我键入城市名称,代码会自动为我完成它,并获取城市ID,并应将其放入隐藏的输入字段name='cityID'…但它不会这样做 你能告诉我为什么吗 html代码: <p><label>city: </label><input type='text' name='cityName' value='$cityName' id='keyword_city' autocomplete='off' />

也许你可以帮助解决一些ajax问题

我有自动完成的代码-我键入城市名称,代码会自动为我完成它,并获取城市ID,并应将其放入隐藏的输入字段name='cityID'…但它不会这样做

你能告诉我为什么吗

html代码:

<p><label>city: </label><input type='text' name='cityName' value='$cityName'  id='keyword_city' autocomplete='off' />
    <span id='ajax_response_city' class='ajax_response' style='display:none;' ></span>
    <input type='hidden' name='cityID' value='$cityID' id='keyword_cityID'>
</p>
您可以在此处找到完整的JS:

http://www.dogger.co.il/js/ajax/autoComplate_city.js

尝试使用div而不是span标记作为ajax\u response\u city。 html变得混乱,您的选择将不再有效

我举了一个例子:


我还将开始使用适当的html,如在ul或ol中放置li元素,以避免类似问题。

谢谢,但问题在于cityID字段:请看我所做的示例。它会像您希望的那样更新。我查看了您的示例,但我不知道input cityID从何处获取数据id值:同样,我很确定它会->单击测试之前:和单击测试之后:注意值更改为someID,这是您的a标记的数据id值是的,您是对的/我使用的代码相同。我不知道为什么它不适合我…:/
$("#ajax_response_city").mouseover(function(){
    $(this).find("li a").mouseover(function () {
          $(this).addClass("selected");
    });
    $(this).find("li a").mouseout(function () {
          $(this).removeClass("selected");
    });
    $(this).find("li a").click(function () {
          $("#keyword_city").val($(this).text());
          $("#keyword_cityID").val($(this).data().id);
          $("#ajax_response_city").fadeOut("slow");
    });
});
http://www.dogger.co.il/js/ajax/autoComplate_city.js
<div id='ajax_response_city' class='ajax_response'></div>