首页 文章

Select2 Dependent下拉列表

提问于
浏览
9

我试图使用Select2插件有4个相互依赖的下拉列表 . 我一直在努力寻找更新加载选项的数据的正确方法 .

我的目标是通过ajax加载新数据,但是一旦我在客户端中加载它,我就无法将新数据添加到选择列表中 .

我试过的代码在这里:

$(#"a3").select2({
    placeholder: "select an item",
    allowClear: true}).on("change",
    function (e) {
         var results = $.get("url?id=2",
            function (data, textStatus, jqXHR) {
                $(this).select2({ data: { results: data, text: "Name" } });
        });
    }
);

这里有另一个问题select2 changing items dynamically但是解决方案适用于Select2 v3.2但不适用于Select2 v3.3

3 回答

  • 8

    伊戈尔回来找我这样做的方法

    var data=[...];    
    $().select2({data: function() {return {results:data};}});    
    /// later    
    data=[...something else];    
    // next query select2 will use 'something else' data
    
  • 4

    正确的格式是:

    .select2("data", {...})
    
  • 2

    对于Select2 v4.x,这里有一个小js class .

    使用此选项,selecta列表框的选项将由ajax根据另一个select2列表框的选择加载/刷新 . 并且依赖关系可以被链接 .

    例如 -

    new Select2Cascade($('#country'), $('#province'), 'path/to/geocode', {type:"province", parent_id: ''});
    new Select2Cascade($('#province'), $('#district'), 'path/to/geocode', {type:"district", parent_id: ''});
    

    查看codepen上的演示 . 这里还有how to use上的帖子 .

相关问题