0

我在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。

4

1 回答 1

1
var select_gender = $('.gender')
select_gender.change(function(){
if (select_gender.val() == 'Male')
{
  $('.male').show();  
  $('.female').hide();
}
else if (select_gender.val()=='Female')
{
 $('.male').hide();  
 $('.female').show();
}}

与其在视图上使用 onclick,不如在 javascript 中尝试 onchange 事件作为选择输入。

于 2013-08-30T16:33:03.230 回答