2016-07-21 2 views
0
$('.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(); 
    } 
    }); 
.fieldset 
     .row 
      .col-sm-12 
      = f.label :pin_code,"Pin Code", class: "col-sm-3 control-label text-right" 
      = f.text_field :pin_code, autofocus: true, class: "col-sm-3" 
      %div{id: 'state_field'} 
      = f.label :state,"State", class: "col-sm-3 control-label text-right" 
      = f.select(:state, options_for_select(State.collect_state),{},{class: "selectpicker col-sm-3", id: "myselect", prompt: "Select State", "data-live-search": "true"}) 
      %div.hide{id: 'country_field'} 
      = f.label :country,"Country", class: "col-sm-3 control-label text-right" 
      = f.select(:country, Country.collect_country,{}, {class: "selectpicker add_class_country dropdown_country col-sm-3", title: "select country", "data-live-search": "true"}) 

     %br 

Здесь я спрятал страну DIV, так что состояние поля отображается на начальном этапе. при нажатии на вариант за границей должен отображаться «country div», а «state div» должен быть скрытRails JS условно отображать Div на основе радио-кнопки выбирается

Но то, что у меня есть, и поля штата и страны скрыты после выбора опции за границей.

ответ

0

Как вы скрыли #country_field изначально. display: none;? Вы должны убедиться, что используете дисплей: нет и не видимость: нет; или какой-либо другой стиль, используемый jquery, отображает: 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'); 
    }; 
}); 
+0

Да, мне нужно скрыть # country_field изначально. так что поле состояния будет отображаться на начальном этапе. Если вы нажмете опцию «За границей» в раскрывающемся списке, она должна заменить поле состояния полем страны. Я спрятал country div, просто используя «% div.hide {id: 'country_field'}" .can u помогите еще? .. спасибо u заранее –

+0

Значит, вы используете выпадающее меню, а не переключатели? Я не понимаю, что означает '% div.hide {id: 'country_field'}' означает, что это должно быть haml. Если да, то какой стиль присваивается классу «.hide»? Используется ли 'display: none?'? –

+0

im, используя переключатель, который нужно выбрать, и отображаемые поля - dropdowns.im, не используя какой-либо стиль. просто использовал div.hide в haml. он используется для скрытия div. поэтому мне нужно показать его с помощью JS на основе условия –

Смежные вопросы