我有一个使用js的视图中的下拉列表,我将选定的项目从下拉列表传递给控制器,控制器内部我使用下拉列表中的选定项目运行查询以提取一些记录。现在问题是我无法显示要查看的查询结果。基本上我无法触发控制器显示在视图中。任何帮助不胜感激。触发控制器显示视图
这里是将数据传递到控制器中的JS:
<script type="text/JavaScript">
$(function(){
$('.defined_call').bind('change', function(){
alert($(this).val());
$.ajax({
url: "<%= changeowner_path %>",
data: { my_str: $(this).val() }
});
});
});
</script>
<%= select_tag "dropdown_cases", options_for_select(@ownerlist),{:id=>"defined_Id",:class
=> "defined_call'} %>
这里是控制器:
class ReassignsController < ApplicationController
def changeowner
i=0
$myarr=[]
ownerl = Transaction.owner#declaredin model
@ownerlist=ownerl.collect { |c| [ c, c ] }#make it for dropdown
value=params[:my_str]#return value from dropdown
$value1=value.to_s#make it for owner table
@owner_records=Transaction.where(:owner => $value1)
===> I would like to display to the view?
end
end
这里是我使用的视图:
<table class="table table-condensed" id="sortTableExample">
<tr>
<th style="text-align:center">Book Name</th>
<th style="text-align:center">Owner</th>
</tr>
<% @owner_records.each do |arr_data| %>
<tr>
<td style="text-align:center"><%= arr_data.book%></td>
<td style="text-align:center"><%= arr_data.owner%></td>
</tr>
<% end %>
</table>
谢谢。基本上我试图做的是如下: 1.通过查看的下拉列表中选择的项目控制器 2.内部控制器运行查询,并使用Where条件中的(下拉)选定项目 3.通过查询结果显示在视图内(与步骤1相同的视图)以显示 我发布的解决方案确实覆盖了第1步和第2步,但我缺少第3步来填充表的视图。如何使用您的解决方案触发显示表? – joe
嘿乔,这一步是应该改变桌子的那一步。你有没有在github上的项目..我可以尝试为你看看它。 $('#sortTableExample')。append('
乔,尝试把警报(jsonObj.transactions [i] .book);并查看代码是否工作。如果是,那么我们可以帮助您进行桌面更新。 – Abram