【问题标题】:Dependant data from single dropdown to multiselect in php?php中从单个下拉列表到多选的相关数据?
【发布时间】:2018-11-30 04:49:14
【问题描述】:

我有一个像区域这样的下拉菜单,当我选择区域时,会在他的区域下获取多个状态数据,并将其放入多选表单字段中。

界面图片

AJAX 代码

 $("#ZoneId").on("change", function (event) {
        $.ajax({
            async:true, 
            beforeSend:function (XMLHttpRequest) {
                $('#ZoneId').attr('disabled', true);
            }, 
            complete:function (XMLHttpRequest, textStatus) {
                $('#ZoneId').attr('disabled', false);
            }, 
            data:$("#ZoneId").closest("form").serialize(), 
            dataType:"html",
            type:"post", 
            url:REQUEST_URL+"State/get_state_by_zone" 
            success:function (data, textStatus) {
                //$("#my_multi_select1").empty();

                           //$('#my_multi_select1').multiselect('destroy');
                                 $("#my_multi_select1").append();                       
                            //var prePopulate = JSON.parse(data);
                            $.each(data, function (i, state) {
                                $("#my_multi_select1").append('<option value="' + i + '">' + state + '</option>');
                            });

                            $("#my_multi_select1").attr('multiple', 'multiple'); 
                            $("#my_multi_select1").multiselect('rebuild');

                            //$("#my_multi_select1").multiselect('refresh');

            }, 

        });
            return false;
    });

【问题讨论】:

  • 问题是什么?
  • @D3ad L0cK 关于依赖下拉数据的问题。这里一个单选下拉菜单(普通的 html 选择选项下拉菜单),另一个是 jquery 多选下拉菜单(loudev.com)。现在的问题是当我选择区域(单选值)然后在多选下拉列表中的区域下填充状态。
  • data 的输出是什么? Chrome 日志中显示了什么错误?
  • @D3ad L0cK 没有在 chrome 日志中显示任何错误,但不会触发多选下拉菜单中的任何事件。
  • 能否提供html代码?

标签: php jquery ajax cakephp


【解决方案1】:

请参考此代码:

有关 HTML 和更多详细信息,请参阅以下链接: enter link description here

$('#state').lwMultiSelect();

    $("#YourFirstSingleDropDownID").on("change", function (event) { 
        $.ajax({
            type:"post", 
            url:your_url_for_second_drop_down,
            async:true, 
            beforeSend:function (XMLHttpRequest) {
                $('#YourFirstSingleDropDownID').attr('disabled', true);
            }, 
            complete:function (XMLHttpRequest, textStatus) {
                $('#YourFirstSingleDropDownID').attr('disabled', false);
            }, 
            data:$("#YourFirstSingleDropDownID").closest("form").serialize(), 
            dataType:"html", 
            success:function (data, textStatus) {
                $("#YourSecondSingleDropDownID").html(data);
                $("#YourSecondSingleDropDownID").on("change", function(event){
                    $.ajax({
                        async:true, 
                        beforeSend:function (XMLHttpRequest) {
                            $('#YourFirstSingleDropDownID').attr('disabled', true);
                        }, 
                        complete:function (XMLHttpRequest, textStatus) {
                            $('#YourFirstSingleDropDownID').attr('disabled', false);
                        }, 
                        data:{your_first_drop_down_id}, 
                        dataType:"json", 
                        success:function (data, textStatus) {  

                               $.each(data, function (i, state) {
                                    $("#multi_select_id").append('<option value="' + i + '">' + state + '</option>');
                               });
                                $('#multi_select_id').data('plugin_lwMultiSelect').updateList();

                        }, 
                        type:"post", 
                        url:your_url_for_third_multi_drop_down
                    });
                });
            }
        });
            return false;
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 2022-07-31
    • 2011-07-03
    • 2021-05-07
    • 2019-02-26
    相关资源
    最近更新 更多