私がやりたいこと -
クライアントのリストがあり、クライアントを選択すると、Ajax がその情報のデータ テーブルをロードするページを作成しようとしています。
私がやっている
こと - クライアントの選択をハッシュ化し、Ajax を相関関係で機能させることから始めています。
コード:
<% select_list = []
@clients.each do |f|
select_list << f.name
end
%>
<%= select_tag 'client', options_for_select(select_list) %>
<%= submit_tag 'Show', :id => "show" %><br/>
<div id="load-zone" style="width:500; height:300;">
</div>
<script type="text/javascript">
$.ajaxSetup ({
cache: false
});
var ajax_load = "<img class='loading' src='/images/load.gif' alt='loading...' width='40px' />";
// load() functions
var selID=document.getElementById("client");
var loadUrl=selID.options[selID.selectedIndex].text;
$("#show").click(function(){
alert(loadUrl);
$("#load-zone")
.html(ajax_load)
.load("/reports/ref_table_template?client=", loadUrl, "#data_table");
});
</script>
また、次の 2 つの「var」行の代わりにこれを配置しようとしました// load() functions
。
var loadUrl = $("#client option:selected").text();
と:
var loadUrl = $("#client").val();
予想されること - ページが実際に読み込まれるかどうか
は別の問題ですが、そこにアラートがあると、ドロップダウンから選択したクライアントの名前を含むメッセージ ウィンドウがポップアップ表示されるはずです。IE で、ドロップダウンに ["Steve", "Jim", "Pete"] が含まれている場合、"Pete" を選択してボタンをクリックすると、"Pete" というメッセージ ボックスが表示されます。
私が
得ているもの-送信ボタンを押すたびに、どの方法を試しても「Steve」(最初のオプション)が表示されます。
loadUrl
選択したアイテムが実際に含まれるようにこれを変更するにはどうすればよいですか?
システム仕様 -
Ubuntu 12.04 LTS 64 ビット
Ruby 1.8.7
Rails 3.0.20を使用
ブラウザ -
Google Chrome