好吧,也许标题不能很好地解释它,但我有一个带有这些行的表格
- f.collection_select(:client, Client.all, :name, :name)%>
- f.text_field :nit
根据f.text_field
中选择的客户端,我需要更改:nit
表Client
中的f.collection_select
值。
有什么想法吗?
答案 0 :(得分:1)
请尝试以下ajax的示例代码:
查看Ex:
select_tag "client", options_from_collection_for_select(Client.all, "name", "title"), :prompt => "Select a client", :onchange => "update_text_box(this.value)"
text_field:
text_field_tag :nit,"",:id => "nit"
脚本文件中的:
function update_text_box(client_id) {
jQuery.ajax({
url: "/update_text_box",
type: "GET",
data: {"client_id" : client_id},
dataType: "text"
success: function(data) {
jQuery("#nit").val(data);
}
});
}
现在更改select_tag时会发出ajax请求。然后你必须在你的动作中写入逻辑,最后你必须返回value.like
render :text => some_value.
参考this
答案 1 :(得分:0)
将id
选择器分配给collection_select
并使用该选择器在客户端定义on change
函数,该函数将通过ajax调用操作并从数据库中获取所需的值