如何使用带有附加的文本框复选框 [英] how to use check box with additional textbox
问题描述
我有多个复选框在我的表格,工作非常good.I需要给予更多的选项,添加 样四chkbox然后一个文本字段与它们相关
I have multiple check box in my form ,working very good.I need to give more option to add like four chkbox then a text field related to them
我的模型看起来像
PaymentGateway.rb
PaymentGateway.rb
的has_many:payment_rfps
has_many :payment_rfps
的has_many:招标书,:通过=>:payment_rfps
has_many :rfps, :through => :payment_rfps
类PaymentRfp<的ActiveRecord :: Base的
class PaymentRfp < ActiveRecord::Base
attr_accessible:payment_gateway_id,:rfp_id
attr_accessible :payment_gateway_id,:rfp_id
belongs_to的:payment_gateway
belongs_to :payment_gateway
belongs_to的:招标公告 结束
belongs_to :rfp end
rfp.rb
的has_many:payment_rfps
has_many :payment_rfps
的has_many:payment_gateways,:通过=>:payment_rfps
has_many :payment_gateways, :through => :payment_rfps
我的部分观点
<div class = "lft_cms" ><b>Payment Gateways</b>
<div class="field">
<%= hidden_field_tag "rfp[ payment_gateway_ids][]", nil %>
<% PaymentGateway.all.each do |payment_gateway| %>
<%= check_box_tag "rfp[payment_gateway_ids][]",payment_gateway.id, @rfp.payment_gateway_ids.include?(payment_gateway.id), :id => dom_id(payment_gateway) %>
<%= label_tag dom_id(payment_gateway), payment_gateway.name %><br>
<% end %>
</div>
我如何添加一个文本字段,它提供额外的选项填写 任何帮助AP preciated.Thanks
how can i add a text field which give additional option to fill any help appreciated.Thanks
推荐答案
首先,PaymentGateway.all是一个坏主意。这不应该出现在视图中,但是从一个实例变量控制器加载。请改变这一点。
First of all, PaymentGateway.all is a bad idea. This shouldn't be there in the view but loaded from the controller in an instance variable. Please change that.
这样做将是定义一个属性,让我们说,一个办法ADDITIONAL_INFO:
One way to do that would be to define a attribute, let us say 'additional_info':
<% PaymentGateway.all.each do |pg| %>
<%= check_box_tag ..., onclick: "$('#{pg}_info').show(); $('#{pg}_info').siblings().hide();" %>
...
<% end %>
<div class="additional_infos">
<%= f.input :gateway1_info, label: "Gateway" ... %>
</div>
这篇关于如何使用带有附加的文本框复选框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!