2015-10-01 2 views
1

У меня есть форму на моей странице с указанием сведений о сотрудниках.Показать другое поле на основе ответа

У меня есть поле выбора для status с ответами Full Time и Part Time

Если пользователь выбирает Part Time Я хотел бы еще одно поле, чтобы появиться, который спрашивает Days per week

Вот мой статус вопрос

<select class="cs-select cs-skin-slide" name="status" data-init-plugin="cs-select"> 
<option value='FT'>Full Time </option> 
<option value='PT'>Part Time </option> 
</select> 

ОБНОВЛЕНИЕ

<script> 
$('#myselectbox').change(function(){ 
     var val = $('#myselectbox').val(); 
     if(val == FT){ 
      $('#forparttime').show(); 
     }else{ 
      $('#forfulltimetime').show(); 

     } 

    }); 
      </script> 

           <div class="form-group"> 
         <label>Employment Type</label> 
         <span class="help"></span><br> 
         <select id="myselectbox" class="cs-select cs-skin-slide" name="status" data-init-plugin="cs-select"> 
    <option value='FT'>Full Time </option> 
    <option value='PT'>Part Time </option> 
    </select> 
    <input type="text" id="forparttime" name="forparttime" style="display:none" > 
    <input type="text" id="forfulltimetime" name="forfulltimetime" style="display:none" > 

</div> 
+2

Shaun, любая идея о том, как вы это сделаете? Это взаимодействие на стороне клиента, поэтому PHP или Java не помогут в его решении ... Попробуйте изучить Javascript. – Armfoot

+0

Посмотрите на это ... http://plugins.krajee.com/dependent-dropdown/demo – Kuya

+0

plese см. Мой ниже комментарий –

ответ

1
**<script src="//code.jquery.com/jquery-1.11.3.min.js"></script> 
<script> 
$(document).ready(function(){ 
$('#myselectbox').change(function(){ 
     var val = $('#myselectbox').val(); 
     if(val == 'FT'){ 
     $('#forparttime').hide(); 
     $('#forfulltimetime').show(); 
    }else{ 
     $('#forfulltimetime').hide(); 
     $('#forparttime').show(); 
     } 
    }); 

    }); 
     </script> 
    <div class="form-group"> 
        <label>Employment Type</label> 
        <span class="help"></span><br> 
        <select id="myselectbox" class="cs-select cs-skin-slide" name="status" data-init-plugin="cs-select"> 
<option value='FT'>Full Time </option> 
<option value='PT'>Part Time </option> 
</select> 
<input type="text" id="forparttime" placeholder="forparttime" name="forparttime" style="display:none" > 
<input type="text" id="forfulltimetime" placeholder="forfulltimetime" name="forfulltimetime" style="display:none" > 
</div>** 
+0

Спасибо, однако это не показывает 2-е текстовое поле? – Shaun

+0

Вы можете показать мне свой полный код? –

+0

См. Обновленный Вопрос ... – Shaun

1

Если есть только два варианта статуса, сначала я хотел бы предложить вам использовать логическое значение. А также подумайте об использовании идентификатора для выбора, затем отобразите или спрячьте поле, используя это значение с помощью jquery. что-то вроде

if ($('.cs-select').val()){ $('#ur_field').hide() }

или

if ($('#select_box_id').val()){ $('#ur_field').hide() }

1

Попробуйте это:

HTML:

<select class="cs-select cs-skin-slide" name="status" data-init-plugin="cs-select"> 
    <option value='FT'>Full Time </option> 
    <option value='PT'>Part Time </option> 
</select> 

<input type="text" id="forparttime" name="forparttime" style="display:none" > 
<input type="text" id="forfulltimetime" name="forfulltimetime" style="display:none" > 

JS:

$(".cs-select").change(function(){ 

    var value = this.value; 

    if (value == "FT"){ 
     $(".your-field-shown").show(); 
     $(".your-field-hidden").hide(); 
    } 

    elseif (value == "PT"){ 
     $(".your-field-shown").hide(); 
     $(".your-field-hidden").show(); 
    } 
}); 
+0

Спасибо, но он не отображает второй вопрос – Shaun

+0

Shuan Я обновил свой ответ, посмотрю и дайте мне знать, если он сработает для вас. – Chris

+0

Привет Крис - По-прежнему показывается по какой-то причине - я скопировал ваш код точно ... – Shaun

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