0

我的表格中有 3 个字段:州、市和区;

当我选择州时,城市下拉框会填充相关数据。然后我需要自动完成区域作为参数传递 cityID

这是看起来的样子:

$(document).ready(function()     {
    $('#AdDistrict').autocomplete(
    {

    source: "autocomplete/fetch?model=district&field=name&city=" + $("#AdCityId").val(),
    minLength: 2
    });
  });

但那$("#AdCityId").val()是空白的,如果我查看源代码,我什么也没有看到,<options>但出现在页面上。

我试过用

$("#AdCityId").val(), 
$("#AdCityId option:selected").val()

但我总是得到“未定义”。我认为问题是因为在源代码中,我的选择看起来像这样:

<div class="input select required"><label for="AdCityId">City</label><select name="data[Ad][city_id]" id="AdCityId">
<option value="">Selecione a Cidade</option>
</select></div>

有什么提示吗?

4

3 回答 3

0

您可以像这个问题一样在城市下拉菜单的 onchange 事件中设置 .autocomplete() 源

于 2013-04-16T17:36:52.263 回答
0
 <option value="">Selecione a Cidade</option>

该选项的值设置为“”,因此它完全返回该值。如果您想要中间的文本将其更改为

   <option>Selecione a Cidade</option>
于 2013-04-16T17:37:49.220 回答
0

在这种情况下,使用函数作为源是有意义的。

source: function(request,response) {
    $.ajax({
        url: "autocomplete/fetch?model=district&field=name&city=" + $("#AdCityId").val(),
        data: { term: request.term },
        type: "get",
        dataType: "json",
        success: function(data){
            response(data);
        }
    });
}
于 2013-04-16T19:30:37.737 回答