斗士狗 2013-01-25 03:22 采纳率: 0%
浏览 114

jQuery克隆下拉列表

Hi i have following scenario of drop down list

enter image description here

Whenever i select cat1 options, sub cat 1 options will be populated. But if i add another category it should only add cat1 options not along with sub cat options.But in my case both of cat 1 and sub cat options are loaded. Following are my code to clone drop down list.

        <div class="new-categories">
                    <div class="new-category">
                        <select class="category-select" name="categories">
                        <option></option>
                        <option value="1">cat 1</option>

                    </select>
                    <select class='category-select-sub' style="display:none">
                        <!-- loaded from ajax -->
                    </select>
        </div></div>
    <a href="#" class="add-another-cat smallest" style="">Add another category</a>


$('.add-another-cat').click(function(event){
             event.preventDefault();
             var $orDiv = $('.new-category:last').after($('.new-category:first').clone());

});

This is how i actually supposed to look like

enter image description here

Thanks.

update: populate ajax result

 $('div.new-categories').on('change', 'select.category-select', function () { 
             var $newselect = $('<select />').addClass('category-select-sub');
    $(this).parent().append($newselect);
            var cat_id = $(this).val();
            $.ajax({
                url:baseUrl+'categories/getsubcat',
                data:{'id':cat_id},
                dataType:'json',
                async:false,
                type:'POST',
                success:function(data){
                    var subhtml = data;
                    $('.category-select-sub').show();
                    $('.category-select-sub').html(subhtml);
                }
            });
        });

Once new cat list has been added and an option is selected, the first sub cat are changing according to new list. How to prevent this?

  • 写回答

3条回答 默认 最新

  • weixin_33726318 2013-01-25 03:30
    关注

    http://jsfiddle.net/SCArr

    <script src="//code.jquery.com/jquery-latest.js"></script>
    <div id="clone" class="new-category" style="display:none;">
        <select class="category-select" name="categories">
        <option></option>
        <option value="1">cat 1</option>
    
        </select>
        <select class='category-select-sub' style="display:none">
            <!-- loaded from ajax -->
        </select>
    </div>
    <div class="new-categories">
    </div>
    <a href="#" class="add-another-cat smallest" style="">Add another category</a>
    
    <script>
    $('.add-another-cat').click(function(event){
        event.preventDefault();
        var $orDiv = $('.new-category:last').after($('#clone').clone().removeAttr('id').show());
    });
    $('.new-categories').html($('#clone').clone().removeAttr('id').show());
    </script>
    
    评论

报告相同问题?

悬赏问题

  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿