【发布时间】:2017-08-21 05:22:40
【问题描述】:
我正在尝试显示一个自动完成的文本框。我还尝试显示城市名称,并希望在选择一个城市时将城市的相应cityId 存储在另一个框中。自动完成框工作正常(我的意思是我正在获取城市名称列表)。但是当我选择一个城市时,它的名称没有显示在框中,但它显示了 id。
我的代码如下。
<div class="col-sm-10">
<input type="text" name="txtCity" placeholder="City" id="txtCity" class="form-control">
<input type="text" name="txtCityId" placeholder="City" id="txtCityId" class="form-control">
</div>
<script type="text/javascript">
$(function() {
$("#txtCity").autocomplete({
source: 'getcitylist',
select: function (event, ui) {
$("#txtCity").html(ui.item.label); // display the selected text
// $("#txtCityId").val(ui.item.value); // save selected id to hidden input
}
});
});
</script>
这是数据库函数:
public function getCityList(){
$term = Input::get('term');
$cityList = CityModel::getCityNameAjax($term);
foreach ($cityList as $key=>$value) {
$data[$key]['label']=$value->cityName;
$data[$key]['value']=$value->id;
}
echo json_encode($data);
}
【问题讨论】:
-
这个jsfiddle.net/9R4cV/805 很适合我。
-
那不行。当您选择“始终”时,它不会在文本框中显示“始终”(标签),而是显示“1”(值)。我在代码中遇到的同样的问题
标签: jquery autocomplete