我正在使用select2.full.js
我没有使用任何require.js来帮助我提供模块,我基本上使用了我在v3.5中学到的所有知识
我一直在尝试无数个小时,围绕着这个,但我不知道如何制作ajax级联下拉菜单。
示例:您加载页面,有第一个select2下拉列表,它自动使用ajax拉取数据(您不输入任何内容。数据是从服务器加载的页面上的数据),选择了默认值。由于选择了该默认值,因此第二个select2下拉列表将使用该值进行ajax调用以填充其自己的列表。现在,当我在第一个select2下拉列表中选择另一个值时,第二个select2下拉列表将使用新数据集反映这些更改。
我能够提出的是可以在页面加载时填充的3个下拉菜单,但是当您执行任何ajax请求时,下拉数据不会更改。
自从我使用select2已经两年了,而且库不断变化,文档也在不断变化,我的智慧结束了这个库。但是我觉得引导支持和外观都很吸引人。功能,实现方式的方式,文档令人难以置信的糟糕。
我根本没有任何有用的代码,我一直在拉动,插入,修改等等。现在我正在移动我的头发和牙齿。
执行此操作的任何有用示例都很棒。
答案 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
。