2011-12-17 56 views
0

我想連接兩個表單文本字段值並將其分配給在Rails視圖我隱藏的表單字段:串聯Rails中相鄰的表單字段爲隱藏字段值

<%= f.hidden_field :shortcode, :value => :package :pins %><br />                          

    <div class="field">                                       
    <%= f.label :package_type %><br />                                   
    <%= select("package", "package_type_id", PackageType.all.collect {|p| [p.packagetype, p.id]}) %>                    
    </div>                                           
    <div class="field">                                       
    <%= f.label :pins %><br />                                     
    <%= f.text_field :pins %>                                     
    </div>        

我想:簡碼返回級聯:package +:pins值的值輸入到它們各自的表單域中。

我該怎麼做?

編輯,顯示用來實現這個被譽爲「答案」代碼:

$('#package_pins').blur(function() {                                   
    var combined = $('select#package_package_type_id option:selected').text() + $('#package_pins').val();                 
    $('#package_shortcode').val(combined);                                 
}); 

添加該代碼在app /資產/ JavaScript的DIR我「packages.js」。

注意,因爲PACKAGE_TYPE選擇以belongs_to的紀錄拉動的模式,選擇選項獲取填充像這樣:

<select id=package_package_type_id name="package[package_type_id]"> 
<option value="551">FFG</option> 
<option value="552">FFC</option> 
<option value="553">FTA</option> 
</select> 

哪裏是什麼,我想從「FFG」文本搶,而不是在這種情況下,值爲「551」,它是來自ActiveRecord的記錄ID。我能夠通過使用選項:selected')。text()jquery代碼來實現這一點。

再次感謝@maprihoda指引我朝着正確的方向!

回答

0

您需要爲此編寫一些客戶端JavaScript代碼。使用例如JQuery,你可以很容易地得到包和引腳字段的值(在用戶填入引腳字段後),連接它們,並更新隱藏字段的值。

事情大致是這樣的(你需要在正確的類添加到包裝領域的div這個工作):

$('selector for the pins field').blur(function() { 
    combined = $('selector for the package_type field').val() + $('selector for the pins field').val() 
    $('selector for the hidden field').val(combined) 
}) 
+0

優秀。非常感謝你 - 這就像一個魅力! – Sly 2011-12-18 01:18:00