rooot_999
rooot_999

Reputation: 366

How can I create a textbox if a certain item is selected in a drop-down list?

I have a drop-down list that contains the following values:

<option>Aramex</option>
<option>DHL</option>
<option>FedEx</option>
<option>Other</option>

When the user select Other, I want to show a text box. How can I do that?

I'm using Laravel 4.2

Upvotes: 0

Views: 1496

Answers (2)

rooot_999
rooot_999

Reputation: 366

here is the correct fix:

<script type="text/javascript">
    function showfield(name){
      if(name=='Other')document.getElementById('div1').innerHTML='Other: <input type="text" name="other" />';
      else document.getElementById('div1').innerHTML='';
    }
    </script>

    <select name="travel_arriveVia" id="travel_arriveVia" onchange="showfield(this.options[this.selectedIndex].value)">
    <option selected="selected">Please select ...</option>
    <option value="DHL">DHL</option>
    <option value="Aramex">Aramex</option>
    <option value="FedEx">FedEx</option>
    <option value="Other">Other</option>
    </select>
    <div id="div1"></div>

Upvotes: 1

clearshot66
clearshot66

Reputation: 2302

One method:

<script type="text/javascript>
// Function to on change of the <select>, display the other input box
$(document).ready(function(){
    $("#choices").on("change"),function(){
    if($("#choices').val() == "Other"){
      $("#otherinput").show();
    }else{
      $("#otherinput").hide();
    }
   });
});
</script>

<!-- hide the input box initially -->
<style>
#otherinput{display: none;}
</style>
<!-- These must have values since they're options, FYI, but set an ID for select and add values to options -->
<select id='choices'>
<option value='Aramex'>Aramex</option>
<option value='DHL'>DHL</option>
<option value='FedEx'>FedEx</option>
<option value='Other'>Other</option>
</select>
<!-- hidden until you select other option within the <select> -->
<input type='text' name='textinput' id='otherinput' />

Upvotes: 2

Related Questions