0

いくつかのドロップダウンがあるフォームがあります。1つを選択すると、もう1つが更新されます。このフォームを送信すると、ajaxを介して更新されたドロップダウンの値が送信されません。更新後にfirebugを使用してフォームを見ると、見栄えがします。

これが私のコードです

  var $j = jQuery.noConflict();

  $j(document).ready(
function(){
   $j('#source_credential_list').change(function(){
          var source_credential = $j("#source_credential").val();
         $j.post("/retrieved_data_records/keys_for_source_credential", {"source_credential":source_credential}, function(result) {
         });
         });
}

 <% form_tag  '/retrieved_data_records', :method => :get do %>

      <tr>
     <td>
        <b> Source Credentials</b>
        </td>
         <td>
               <span id="source_credential_list">
                  <%= render :partial => 'source_credential_list' %>
               </span>
         </td>
  </tr>
  <tr>
     <td>
        <b>Source Keys</b>
     </td>
    <td>
       <span id="source_key_list">
           <%= render :partial => 'source_key_list' %>
       </span>

     </td>
  </tr>
<div id="filtersButton"><td><%=submit_tag 'Filter'%></td></div>

source_key_list部分:

 <%=select_tag :filter_source_key, options_from_collection_for_select(@all_source_keys, 'key_name', 'display_fancy_name', @selected_key.key_name)%>

サーバー側のkeys_for_source_credentialは次を返します。

 $j("#source_key_list").html("<%= escape_javascript(render(:partial => 'source_credential_key_list')) %>");

source_credential_key_list parital:

 <%=select_tag :filter_source_key, options_from_collection_for_select(@all_credential_keys.sort, 'key_name', 'display_fancy_name')%>

私のサーバーでは、ドロップダウン値は送信されません。ドロップダウン選択をフォーム投稿と一緒に手動で投稿できると思いますが、機能しているようです...私は何か馬鹿げたことをしていると確信しています。

何か案は?

ありがとうジョエル

4

3 に答える 3

1

私の問題は、フォームの前にテーブルを開始し、フォームの後に終了し、テーブルの開始と終了をフォーム内に移動して問題を解決したことでした。

于 2012-04-18T21:25:24.090 に答える
0

valは使用できないと思いますが、代わりにテキストを使用してください

 $j("#source_credential").text();
于 2012-04-17T20:57:50.380 に答える
0

選択した要素で選択した値をフォームが送信しないという同じ問題が発生しました。

「id」を「name」に変更して解決しました。

于 2014-02-06T15:36:11.717 に答える