【发布时间】:2013-08-30 13:40:26
【问题描述】:
我在 Rails 中有一个带有性别字段的表单:
<%= f.select :gender, ["Male","Female"],{class: "gender"} %>
我也试过这个:
<%= f.select :gender, ["Male","Female"],{class: "gender"},onclick: "categorychange" %>
但它不起作用。现在当我尝试时:
<%= f.select :gender, ["Male","Female"],{},{class: "gender"} %>
一切正常。我在这里找到的。
我不明白 { } 代表什么。
对于不同的性别我有不同的对应字段来展示如下:
<div class="male">
//male fields here//
</div>
<div class="female">
//female fields here//
</div>
我有 javascript 为:
function categorychange(){
var val = $(this).val();
var gender = $(this).parent().find(".gender")
if (gender.val() == 'Male')
{
$(this).parent().find('.male').show();
$(this).parent().find('.female').hide();
}
else if (gender.val()=='Female')
{
$(this).parent().find('.male').hide();
$(this).parent().find('.female').show();
}
但是 javascript 无法正常工作。它显示了两个div。
【问题讨论】:
-
什么元素调用
categorychange? -
@Musa 好的,现在我将 f.select 字段中的 categorychange 函数调用为
<%= f.select :gender, ["male","female"],onclick: "categorychange" %>但它仍然无法正常工作。 -
rails select 需要 5 个不同的参数。 {} 是为选择提供选项。例如 { prompt: 'Choose a gender' }。
标签: javascript jquery ruby-on-rails ajax forms