我在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。
答案 0 :(得分: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事件进行选择输入。