0

我有 2 个相关的下拉菜单。第二个取决于第一个下拉列表。我正在使用 onchange 事件通过 ajax 调用在第二个下拉列表中获取数据。

下面是我的 2 个下拉列表和 ajax 调用:

第一个选择框:

<select name="cust_type" id="cust_type"  class="cust_type" 
    onchange="getCustomersByType(this.value);" > 
    <?php echo $customer_type;?>
</select>

第二个选择框:

<select  name="CompanyName[]" id="CompanyName" multiple  class="customer_name" > 
</select>

阿贾克斯调用:

function getCustomersByType(value)
        {
            var getCust = $('#cust_type').val();

            var customer_type = value;
                $.ajax({
                method: "GET",
                dataType: 'json',
                url:"include/ajax_files/bank_book/getdata.php?getCust="+getCust,
                    success:function(data)
                        {
                            $('#CompanyName').empty();
                            $.each(data, function(index, value) 
                                {
                                    $("#CompanyName").append('<option value="' + value.CUSTOMER_ID + '"'  +
                                    '>' + value.CUSTOMER_NAME+ '</option>');
                                    $('#CompanyName').multiselect('rebuild');
                                });
                        } 
                });


        };

我的数据是正确的。我可以先更改我的第二个下拉列表。但是当我使用带有复选框的多选插件时,第二个下拉菜单无法更改数据。

下面是多选的代码:

 $(document).ready(function(){
    $('#CompanyName').multiselect({
        columns: 1,
        placeholder: 'Select Com',
        search: true,
        selectGroup: true,
        selectAll: true,
        maxPlaceholderOpts: 0,
    });
 });

请帮我清空选择 onchange 第一个下拉菜单并显示数据。

4

1 回答 1

0

填充后使用reload方法显示新选项。

$('#CompanyName').multiSelect('reload');
于 2019-07-27T05:35:53.390 回答