【问题标题】:Autocomplete Source自动完成源
【发布时间】:2012-05-31 13:32:20
【问题描述】:

我的表单上有 2 个自动完成文本框。如果从第一个自动完成文本框中选择了一个值,我想要做的是动态更改第二个自动完成文本框的源。

我的标记的 sn-p 如下:

 $(function () {
    $("#SelectedAddress").autocomplete({
        source: "/CreateFIS/GetProperties",
        select: function(event, ui) {
            if (ui.item) {
                event.preventDefault();
                $('#SelectedAddress').val(ui.item.label);
                $('#SelectedAddressId').val(ui.item.value);
                getPropertyInformation(ui.item.value);
            }
        },
        focus: function(event, ui) {
            if (ui.item) {
                event.preventDefault();
                $('#SelectedAddress').val(ui.item.label);
                $('#SelectedAddressId').val(ui.item.value);
                //getPropertyInformation(ui.item.value);
            }
    }
    });
});

$(function () {
    $("#SelectedScheme").autocomplete({
        source: "/CreateFIS/GetSchemes",
        select: function (event, ui) {
            if (ui.item) {
                event.preventDefault();
                $('#SelectedScheme').val(ui.item.label);
                $('#SelectedSchemeId').val(ui.item.value);
            }
        },
        focus: function (event, ui) {
            if (ui.item) {
                event.preventDefault();
                $('#SelectedScheme').val(ui.item.label);
                $('#SelectedSchemeId').val(ui.item.value);
            }
        }
    });
});


<tr>
                    <td style="width:200px;"><label for="addresses">Please Select A Scheme</label> </td>
                    <td style="width:600px;">@Html.TextBoxFor(model => model.SelectedScheme, new { @class = "largeTextBox" })</td>
                    <td style="width:200px;"> @Html.ValidationMessageFor(model => model.SelectedSchemeId) </td>
                </tr>
                <tr>
                    <td style="width:200px;"><label for="addresses">Please Select A Property </label> </td>
                    <td style="width:600px;">@Html.TextBoxFor(model => model.SelectedAddress, new { @class = "largeTextBox" })</td>
                    <td style="width:200px;"> @Html.ValidationMessageFor(model => model.SelectedAddressId) </td>
                </tr>

实现这一点的最佳方法是什么?

【问题讨论】:

    标签: jquery asp.net-mvc jquery-ui jquery-ui-autocomplete


    【解决方案1】:

    使用option方法更改源:

    var source = $(".selector").autocomplete("option", "source", "/New/Source");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-08
      • 2013-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      • 2015-07-31
      相关资源
      最近更新 更多