2012-03-08 38 views
1

我有以下表格:動態變化形式基於Ruby的在組合框中選擇值on Rails的

Services 
ID| Service_type_id| desc| date|payment_terms 

Service_types 
ID|NAME|isCredit 

Payment_Terms 
ID|Payment_Term 

的服務表中包含的服務列表。服務類型定義了所提供服務的種類。一些service_types提供信貸 - isCredit字段保存布爾值1或0。問題是,當用戶添加一個服務時 - 我有一個組合框填充了服務類型。然而,我需要的是,當用戶選擇isCredit值爲1的服務類型時,它應該在同一表單上顯示一個組合框,並從付款條款表中選擇付款條款。

這怎麼能在軌道上的紅寶石?我只希望的是,當所選擇的SERVICE_TYPE具有isCredit值被顯示在payment_term組合框1否則services.payment_terms = 0

+0

您需要使用Javascript來完成。這不是一個鐵軌問題。 – shingara 2012-03-08 08:45:43

回答

1

首先,渲染付款條件選擇框爲隱藏(通過使用例如特定的CSS類) 。我們假設它有ID payment_terms

然後提供服務的選擇框,與其他數據屬性來跟蹤如果服務isCredit 0 | 1

<select id=services> 
<% services.each do |service| %> 
    <option value=<%=service.id %> data-iscredit=<%=service.type.isCredit ? '1' : '0' %>><%=service.desc %></option> 
<% end %> 
</select> 

寫JS一個簡單的腳本來選擇填充處理change事件提供服務和顯示/隱藏payment_terms選擇取決於isCredit。我假設你正在使用jQuery。

$("#services").change(function() { 
    var selopt = $(this.children[this.selectedIndex]), 
     isCredit = parseInt(selopt.attr('data-iscredit')); 
    if (isCredit === 0) { 
     $("#payment_terms").hide(); 
    } else { 
     $("#payment_terms").show(); 
    } 
})