所以我只有一个文本字段BODY填充了预先内容First Value
<%= f.input :body, :input_html => { :value => "First Value" } %>
现在我想让用户选择从多个文本区域复选框中选择文本区域,我该怎么做?有关更好的说明,请参见图片http://i.imgur.com/Xy4LVko.png
我假设将涉及一些jQuery
由于
答案 0 :(得分:1)
是的,你是对的,你将不得不使用一些jquery。考虑您的复选框ID为“checkbox_1”,textarea id为“textarea_1”,然后您可以按如下方式进行此操作:
$(document).ready(function(e){
$("#checkbox_1").click(function(e) {
$("#textarea_1").focus();
});
});
如果需要,您还可以检查复选框的值。
答案 1 :(得分:1)
我们可以将复选框和相应的输入分组,如下所示
<% form_for @object do |f| %>
<div class="optional-input">
<%= check_box_tag :attribute1 %>
<%= f.text_area :attribute, :class => "display: none;" %>
</div>
<div class"optional-input">
<%= check_box_tag :attribute2 %>
<%= f.text_area :attribute2, :class => "display: none;" %>
</div>
................
................
现在,如果我们有复选框元素,我们可以访问相应的textarea,因为它们是兄弟姐妹。然后我们可以将on-change事件处理程序绑定到每个复选框,这是div元素的子元素。
$(document).ready(function(){
$('.optional-input').find(':checkbox').change(function(){
if($(this).is('checked')){
$(this).siblings('textarea').show()
}
else{
$(this).siblings('textarea').hide()
}
})
})
我希望它会起作用