2012-04-17 73 views
0

我有一個表單有幾個下拉列表,當選擇一個時,它會更新另一個表格。當我提交這個表單時,通過ajax更新的下拉列表的值不會被提交。當我更新後使用螢火蟲查看錶單時,它看起來不錯。表單通過ajax更新未提交選定的值(rails&jquery)

這裏是我的代碼

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')%> 

我的服務器上下拉值尚未提交。我想我可以手動發佈我的下拉選擇以及表單發佈,但它似乎應該工作...我確定我正在做一些愚蠢的事情。

什麼想法?

感謝 喬爾

+2

發佈實際的,生成的HTML和** not **生成它的代碼將是太棒了。 – 2012-04-17 21:13:07

回答

1

原來我的問題是我有一個表我的表格前開始,我的形式結束後,移動表格開始和結束裏面的表格解決了我的問題。

0

我想你不能使用VAL,使用文本而不是

$j("#source_credential").text(); 
+0

http://jsfiddle.net/chepe263/JdcHq/ – chepe263 2012-04-17 21:07:37

+1

ID爲'source_credential'的元素甚至不在所提供的HTML中,因此無法知道它是什麼類型的元素。不過,我認爲它應該是問題中提到的下拉列表。 – 2012-04-17 21:15:41

+0

ajax部分工作正常,它的表單提交不工作的權利,由於某種原因,當我用同一個id的元素替換span時,它似乎形式不知道提交它與表單的orig元素一起。 – Joelio 2012-04-18 00:25:41

0

我得到了同樣的問題,形式不提交我選擇的價值選擇的價值。

我通過將'id'更改爲'name'來解決問題。