任何人都知道什么是可能的ajax和rails脚本,用于根据rails 3上的选定单选按钮填充下拉列表值。例如,有两种类型的平台选择(windows,unix)单选按钮然后单击unix radio按钮,下拉列表框将仅过滤unix类型的东西(补丁)。
想法是下拉列表中已有来自数据库的内容(<%= f.select:other_platform,Patch.all.map {| p | [“#{p.patch_type}#{p.number}: #{p.summary}“,p.id]},{:include_blank => true}%>)然后我需要做的是”仅过滤“具有基于单选按钮的Windows类型示例的值如果单击窗口类型已选中,则下拉菜单将仅显示窗口类型的修补程序并隐藏unix类型或其上包含unix字的列表,如regx(检查查询)以及是否选择或单击unix然后只有unix类型会出现在下拉菜单中
感谢 请回答
IMON
我的代码在这里: 这些是单选按钮:
我该怎么做ajax代码和这个选择框?什么是ajax的正确代码和单选按钮和这个选择框的一些附加代码。??
true}%>你的答案和例子非常感谢..
感谢, IMON
答案 0 :(得分:0)
这很简单。 当用户单击单选按钮时,应调用ajax请求。 您可以在Ajax URL中传递参数以从服务器获取下拉列表。 然后从服务器响应所需的下拉,在Ajax调用中接收响应,填充dom元素。如果有任何疑问,请执行并询问。
编辑:
以下是您的代码的骨架。
Suppose you have three radio buttons: > input type="radio" name="rdio" value="a" checked="checked" /> > input type="radio" name="rdio" value="b" /> > input type="radio" name="rdio" value="c" /> > div id="drop_down" /> Bind click event like this: $("input[@name='rdio']").click(function(){ var url = '/get_drop_down_options?radio_val=' + $(this).val() $("#drop_down").removeOption(/./) $.get(url, function(data) { $('#drop_down').addOption(data, false); }); }); In your controller, def get_drop_down_options val = params[:radio_val] options = YourModel.collect{|x| "'#{x.id}' : '#{x.label}'"} render :text => "{#{options.join(",")}}" end Now you dont need partial.