选择2 4.0.0级联下拉列表

时间:2015-09-04 05:53:00

标签: jquery-select2

我正在使用select2.full.js

我没有使用任何require.js来帮助我提供模块,我基本上使用了我在v3.5中学到的所有知识

我一直在尝试无数个小时,围绕着这个,但我不知道如何制作ajax级联下拉菜单。

示例:您加载页面,有第一个select2下拉列表,它自动使用ajax拉取数据(您不输入任何内容。数据是从服务器加载的页面上的数据),选择了默认值。由于选择了该默认值,因此第二个select2下拉列表将使用该值进行ajax调用以填充其自己的列表。现在,当我在第一个select2下拉列表中选择另一个值时,第二个select2下拉列表将使用新数据集反映这些更改。

我能够提出的是可以在页面加载时填充的3个下拉菜单,但是当您执行任何ajax请求时,下拉数据不会更改。

自从我使用select2已经两年了,而且库不断变化,文档也在不断变化,我的智慧结束了这个库。但是我觉得引导支持和外观都很吸引人。功能,实现方式的方式,文档令人难以置信的糟糕。

我根本没有任何有用的代码,我一直在拉动,插入,修改等等。现在我正在移动我的头发和牙齿。

执行此操作的任何有用示例都很棒。

2 个答案:

答案 0 :(得分:0)

刚刚找到答案..

我正在使用模板:

list = List.new
list.first_node = Node.new(1)
list.first_node.next = Node.new(2)
list.first_node.next.next = Node.new(3)

puts "Delete at 0"
puts list.delete_at(0)

为:

<select id="test">
    <option value="1">1</option>
    <option value="2">2</option>
</select>

并将我的jquery保持在select2上。所以它实际上只是模板的变化,从而解决了它。

然而,唯一的缺点是,当您从这些下拉菜单中刷新新数据时,突出显示的(选定值)始终是下拉列表中的第一项,即使这不是选中的下拉列表中显示的值。

答案 1 :(得分:0)

以下是制作Select2(v4.x)级联下拉列表的小代码段 - https://gist.github.com/ajaxray/187e7c9a00666a7ffff52a8a69b8bf31

使用此模块,ajax将根据另一个select2列表框的选择加载/刷新select2列表框的选项。

使用示例 -

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

在调用ajax之前,父select2列表框的选定值将设置为数据对象的parent_id