Rails JS根据所选的单选按钮有条件地显示div

时间:2016-07-21 13:32:19

标签: javascript jquery ruby-on-rails

$digest
$('.domestic_select, .abroad_select').on('click', function(){
    alert($(this).val());
    if($(this).val() == "true") {
      $('#customer_goods').show();
      $('#state_field').show();
      $('#country_field').hide();
      $('#change_resident').show();
    }
    else {
      $('#change_resident').hide();
      $('#customer_goods').hide();
      $('#country_field').show();
      $('#state_field').hide();
    }
  });

这里我隐藏了国家/地区div,因此最初会显示状态字段。点击国外选项" country div"应该显示和#34;状态div"应隐藏

但我得到的是在选择国外选项后隐藏州​​和国家字段。

1 个答案:

答案 0 :(得分:0)

你最初是如何隐藏#country_field的? display: none;?您需要确保使用display:none而不是visibility:none;或jquery使用的其他样式,display:none / block;隐藏和展示。

$('.domestic_select').on('change', function(){
  if($(this).is(':checked')) {
    $('#customer_goods, #state_field, #change_resident').removeClass('hide');
    $('#country_field').addClass('hide');
  }
});

$('.abroad_select').on('change', function(){
  if($(this).is(':checked')) {
    $('#customer_goods, #state_field, #change_resident').addClass('hide');
    $('#country_field').removeClass('hide');
  };
});