我有自动完成代码 - 我输入城市名称,代码自动为我完成,并获取城市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>
服务器端(仅输出):
echo '<li><a href=\'javascript:void(0);\' data-id="'.$row['cityID'].'">'.$cityName.'</a></li>';
脚本:
$("#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");
});
});
你可以在这里找到完整的JS:
http://www.dogger.co.il/js/ajax/autoComplate_city.js
问题在于:
<input type='hidden' name='cityID' value='$cityID' id='keyword_cityID'>
($ cityID没有获得价值......)