比如,有一个主目录,里面有:A、B、C 三项,分别对应{a1,a2,a3}, {b1,b2,b3}, {c1,c2,c3}三个二级目录 打算在 form 里面做这样一个关联选择: 两个下拉列表,左下拉列表显示主目录,右下拉列表显示二级目录; 当选择了主目录项,比如 B 时,右下拉列表只显示跟 B 相关的二级目录项{b1,b2,b3};当重新选择 C 时,右下拉列表只显示跟 C 相关的二级目录项{c1,c2,c3}。
请问怎么实现呢?困惑中......
使用 js 直接操作 dom 节点来处理,可参考 @saberma 的 chinacity 的源码:
js
https://github.com/saberma/china_city/blob/master/app/assets/javascripts/china_city/jquery.china_city.js.coffee
给第一个下拉列表绑定选择事件,得到 ID 去服务器取第二个下拉列表的内容。。。
大概是
select1.on select get /b?a_id=id on seccess select2.data=data
弱弱的问一句,在 form_for 或者 simple_form_for 里,怎么给下拉列表绑定选择事件?
用 jq 绑定。
可以在 application.js 里面。。。。
楼主可以查查看 二级联动这个东西 用的 ajax jquery
谢谢大家!刚开始折腾 ajax,还一头雾水,new hand!
试试这个https://github.com/tuupola/jquery_chained, 这个库写的不是很灵活,但可以方便地自己修改。
@Seabornlee 不错不错