重置自动完成组合框

时间:2016-02-15 20:33:28

标签: javascript jquery jquery-ui combobox

您好我有两个ComboBox。子组合框根据父组合框中选择的内容更改下拉列表值。

这是Parent ComboBox:

Here Is the Parent ComboBox

如果我们点击测试,我们会看到:

Child ComboBox

如果我们选择了Building,那么我们决定将产品类型更改为Battery Cooling,我们遇到了一个问题:

enter image description here

即使显然不在要选择的项目列表中,它仍将保持建筑选择:

我希望能够将值更改回空白字符,就像第一次加载时一样(如示例2中所示)

这是我的JavaScript:

<script type="text/javascript">


    $(document).ready(function () {
        document.getElementById("hiddenFieldsProcess").style.display = "none";

        document.getElementById("hiddenFieldsSubProcess").style.display = "none";

        $("#Products").combobox();
        $("#Process").combobox();
        $("#SubProcess").combobox();



    });

    $('#Products').on("combochange", function () {
        var selectedProduct = $(this).val();

        if (selectedProduct >= 0) {


            document.getElementById("hiddenFieldsProcess").style.display = "block";
            document.getElementById("hiddenFieldsSubProcess").style.display = "none";
            $.getJSON('@Url.Action("Process")', { product: selectedProduct }, function (products) {
                var processSelect = $('#Process');
                processSelect.empty();
                processSelect.append($('<option/>', {
                    value: 0,
                    text: ""
                }));
                $.each(products, function (index, process) {
                    processSelect.append($('<option/>', {
                        value: process.value,
                        text: process.text
                    }));
                });
            });
        }
        else {
            document.getElementById("hiddenFieldsProcess").style.display = "none";
            document.getElementById("hiddenFieldsSubProcess").style.display = "none";

            var monthsSelect = $('#Process');
            monthsSelect.empty();
            monthsSelect.append($('<option/>', {
                value: 0,
                text: ""
            }));

        }

    });

1 个答案:

答案 0 :(得分:1)

我修改了这一部分,对我有用。 将“ id”添加到为自动完成功能创建的元素中后,就可以像常规元素一样对其进行控制。

  

.attr(“ id”,$(this.element.get(0))。attr('id')+'-combobox')

this.input = $( "<input>" )
      .appendTo( this.wrapper )
      .val( value )
      .attr( "title", "" )
      .attr( "id",$(this.element.get(0)).attr('id') +'-combobox' )
      .addClass( "custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-left" )