Crevitz
Crevitz

Reputation: 41

Change the Bootstrap Form with Bootstrap Dropdown and Jquery

I want to change which form to show using dropdown and jquery but doesn't seem to work. I did try a simple code using just a couple of divs and a paragraph and it worked or so I thought, because it's no longer work when I put my forms into it. By the way, here's my code:

//this is the form

<div class="container">
    <h3>Choose the brand you want to input</h3> <br>
    <select id="brand-combox" class="custom-select col-sm-2" name="brand-combox">
        <option selected value="#">Select a Brand</option>
        <option value="qnap">Qnap</option>
        <option value="asustor">Asustor</option>
        <option value="nutanix">Nutanix</option>
        <option value="dji">DJI</option>
        <option value="wps">WPS Office</option>
    </select>
</div>

<br>

<div class="container container-input" id="qnap-form" style="display: none;">
    <form>
      <div class="row">
        <div class="form-group col-md-6">
          <input type="text" name="product_name" class="form-control" placeholder="Product Name">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="cpu" class="form-control" placeholder="CPU Type">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="memory" class="form-control" placeholder="Product Memory">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-3">
          <input type="text" name="chassis" class="form-control" placeholder="Chassis Type">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="hdd_bay" class="form-control" placeholder="HDD Bays">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="hdd_type" class="form-control" placeholder="HDD Type">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="max_hdd_capacity" class="form-control" placeholder="Max HDD Capacity">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="usb_30" class="form-control" placeholder="USB 3.0">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-2">
          <input type="text" name="usb_20" class="form-control" placeholder="USB 2.0">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="psu" class="form-control" placeholder="Power Supply">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="color_box_dimensions" class="form-control" placeholder="Color Box Dimensions">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="color_box_shipping_weight" class="form-control" placeholder="Color Box Shipping Weight">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-3">
          <input type="text" name="max_total_frames_per_second" class="form-control" placeholder="Max Total Frames per Second">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="lan" class="form-control" placeholder="LAN">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="thunderbolt_port" class="form-control" placeholder="Thunderbolt Port">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="usb_31" class="form-control" placeholder="USB 3.1">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-2">
          <input type="text" name="base_free_ip_cam" class="form-control" placeholder="Base Free IP Cam">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="max_supported_ip_cam" class="form-control" placeholder="Max Supported IP Cam">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="max_recording_throughput" class="form-control" placeholder="Max Recording Throughput">
        </div>

        <div class="form-group col-md-3">
          <?php
            //read product segment
            $stmt = $segment->read();

            //put them in select dropdown
            echo "<select class='custom-select col-sm-12' name='segment_id'>";
            echo "<option selected>Select Segment...</option>";

              while($row_segment = $stmt->fetch(PDO::FETCH_ASSOC)){
                extract($row_segment);
                echo "<option value={$segment_id}>{$segment}</option>";
              }
            echo "</select>";
          ?>
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-8">
          <textarea name="descriptions" class="form-control" placeholder="Enter product descriptions"></textarea>
        </div>

        <div class="form-group col-md-3">
          <label for="photo">Choose Image</label>
          <input type="file" name="image" class="form-control-file">
        </div>
      </div>

      <br>

      <div class="row">
        <div class="form-group col-md-3">
          <button type="submit" class="btn btn-success">Create</button>
        </div>
      </div>
    </form>
 </div>

<div class="container container-input" id="asustor-form" style="display: none;">
    <form>
      <div class="row">
        <div class="form-group col-md-6">
          <input type="text" name="product_name" class="form-control" placeholder="Product Name">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="cpu" class="form-control" placeholder="CPU Type">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="memory" class="form-control" placeholder="Product Memory">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-3">
          <input type="text" name="chassis" class="form-control" placeholder="Chassis Type">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="hdd_bay" class="form-control" placeholder="HDD Bays">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="hdd_type" class="form-control" placeholder="HDD Type">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="max_hdd_capacity" class="form-control" placeholder="Max HDD Capacity">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="usb_30" class="form-control" placeholder="USB 3.0">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-2">
          <input type="text" name="usb_20" class="form-control" placeholder="USB 2.0">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="psu" class="form-control" placeholder="Power Supply">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="color_box_dimensions" class="form-control" placeholder="Color Box Dimensions">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="color_box_shipping_weight" class="form-control" placeholder="Color Box Shipping Weight">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-3">
          <input type="text" name="max_total_frames_per_second" class="form-control" placeholder="Max Total Frames per Second">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="lan" class="form-control" placeholder="LAN">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="thunderbolt_port" class="form-control" placeholder="Thunderbolt Port">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="usb_31" class="form-control" placeholder="USB 3.1">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-2">
          <input type="text" name="base_free_ip_cam" class="form-control" placeholder="Base Free IP Cam">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="max_supported_ip_cam" class="form-control" placeholder="Max Supported IP Cam">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="max_recording_throughput" class="form-control" placeholder="Max Recording Throughput">
        </div>

        <div class="form-group col-md-3">
          <?php
            //read product segment
            $stmt = $segment->read();

            //put them in select dropdown
            echo "<select class='custom-select col-sm-12' name='segment_id'>";
            echo "<option selected>Select Segment...</option>";

              while($row_segment = $stmt->fetch(PDO::FETCH_ASSOC)){
                extract($row_segment);
                echo "<option value={$segment_id}>{$segment}</option>";
              }
            echo "</select>";
          ?>
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-8">
          <textarea name="descriptions" class="form-control" placeholder="Enter product descriptions"></textarea>
        </div>

        <div class="form-group col-md-3">
          <label for="photo">Choose Image</label>
          <input type="file" name="image" class="form-control-file">
        </div>
      </div>

      <br>

      <div class="row">
        <div class="form-group col-md-3">
          <button type="submit" class="btn btn-success">Create</button>
        </div>
      </div>
    </form>
 </div>

Here is the jquery:

$('#brand-combox').on('change', function(){
                if (this.value == 'qnap') {
                    $('#qnap-form').show();
                    $('#asustor-form').hide();
                }
                else if(this.value == 'asustor'{
                    $('#qnap-form').hide();
                    $('#asustor-form').show();
                }
            });

I also tried any different ways but I can't yet find out what I'm missing. Would you be so kind to help me?

Upvotes: 1

Views: 353

Answers (1)

Hiren Vaghasiya
Hiren Vaghasiya

Reputation: 5544

Your else if condition is not close with ) and add jquery, check it

$('#brand-combox').on('change', function(){
                if (this.value == 'qnap') {
                    $('#qnap-form').show();
                    $('#asustor-form').hide();
                }
                else if(this.value == 'asustor'){
                    $('#qnap-form').hide();
                    $('#asustor-form').show();
                }
            });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<div class="container">
    <h3>Choose the brand you want to input</h3> <br>
    <select id="brand-combox" class="custom-select col-sm-2" name="brand-combox">
        <option selected value="#">Select a Brand</option>
        <option value="qnap">Qnap</option>
        <option value="asustor">Asustor</option>
        <option value="nutanix">Nutanix</option>
        <option value="dji">DJI</option>
        <option value="wps">WPS Office</option>
    </select>
</div>

<br>

<div class="container container-input" id="qnap-form" style="display: none;">
    <form>
      <div class="row">
        <h2>qnap</h2>
        <div class="form-group col-md-6">
          <input type="text" name="product_name" class="form-control" placeholder="Product Name">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="cpu" class="form-control" placeholder="CPU Type">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="memory" class="form-control" placeholder="Product Memory">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-3">
          <input type="text" name="chassis" class="form-control" placeholder="Chassis Type">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="hdd_bay" class="form-control" placeholder="HDD Bays">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="hdd_type" class="form-control" placeholder="HDD Type">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="max_hdd_capacity" class="form-control" placeholder="Max HDD Capacity">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="usb_30" class="form-control" placeholder="USB 3.0">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-2">
          <input type="text" name="usb_20" class="form-control" placeholder="USB 2.0">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="psu" class="form-control" placeholder="Power Supply">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="color_box_dimensions" class="form-control" placeholder="Color Box Dimensions">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="color_box_shipping_weight" class="form-control" placeholder="Color Box Shipping Weight">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-3">
          <input type="text" name="max_total_frames_per_second" class="form-control" placeholder="Max Total Frames per Second">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="lan" class="form-control" placeholder="LAN">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="thunderbolt_port" class="form-control" placeholder="Thunderbolt Port">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="usb_31" class="form-control" placeholder="USB 3.1">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-2">
          <input type="text" name="base_free_ip_cam" class="form-control" placeholder="Base Free IP Cam">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="max_supported_ip_cam" class="form-control" placeholder="Max Supported IP Cam">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="max_recording_throughput" class="form-control" placeholder="Max Recording Throughput">
        </div>

        <div class="form-group col-md-3">
          <?php
            //read product segment
            $stmt = $segment->read();

            //put them in select dropdown
            echo "<select class='custom-select col-sm-12' name='segment_id'>";
            echo "<option selected>Select Segment...</option>";

              while($row_segment = $stmt->fetch(PDO::FETCH_ASSOC)){
                extract($row_segment);
                echo "<option value={$segment_id}>{$segment}</option>";
              }
            echo "</select>";
          ?>
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-8">
          <textarea name="descriptions" class="form-control" placeholder="Enter product descriptions"></textarea>
        </div>

        <div class="form-group col-md-3">
          <label for="photo">Choose Image</label>
          <input type="file" name="image" class="form-control-file">
        </div>
      </div>

      <br>

      <div class="row">
        <div class="form-group col-md-3">
          <button type="submit" class="btn btn-success">Create</button>
        </div>
      </div>
    </form>
 </div>

<div class="container container-input" id="asustor-form" style="display: none;">
    <form>
      <div class="row">
        <h2>asustor</h2>
        <div class="form-group col-md-6">
          <input type="text" name="product_name" class="form-control" placeholder="Product Name">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="cpu" class="form-control" placeholder="CPU Type">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="memory" class="form-control" placeholder="Product Memory">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-3">
          <input type="text" name="chassis" class="form-control" placeholder="Chassis Type">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="hdd_bay" class="form-control" placeholder="HDD Bays">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="hdd_type" class="form-control" placeholder="HDD Type">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="max_hdd_capacity" class="form-control" placeholder="Max HDD Capacity">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="usb_30" class="form-control" placeholder="USB 3.0">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-2">
          <input type="text" name="usb_20" class="form-control" placeholder="USB 2.0">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="psu" class="form-control" placeholder="Power Supply">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="color_box_dimensions" class="form-control" placeholder="Color Box Dimensions">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="color_box_shipping_weight" class="form-control" placeholder="Color Box Shipping Weight">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-3">
          <input type="text" name="max_total_frames_per_second" class="form-control" placeholder="Max Total Frames per Second">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="lan" class="form-control" placeholder="LAN">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="thunderbolt_port" class="form-control" placeholder="Thunderbolt Port">
        </div>

        <div class="form-group col-md-2">
          <input type="text" name="usb_31" class="form-control" placeholder="USB 3.1">
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-2">
          <input type="text" name="base_free_ip_cam" class="form-control" placeholder="Base Free IP Cam">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="max_supported_ip_cam" class="form-control" placeholder="Max Supported IP Cam">
        </div>

        <div class="form-group col-md-3">
          <input type="text" name="max_recording_throughput" class="form-control" placeholder="Max Recording Throughput">
        </div>

        <div class="form-group col-md-3">
          <?php
            //read product segment
            $stmt = $segment->read();

            //put them in select dropdown
            echo "<select class='custom-select col-sm-12' name='segment_id'>";
            echo "<option selected>Select Segment...</option>";

              while($row_segment = $stmt->fetch(PDO::FETCH_ASSOC)){
                extract($row_segment);
                echo "<option value={$segment_id}>{$segment}</option>";
              }
            echo "</select>";
          ?>
        </div>
      </div>

      <div class="row">
        <div class="form-group col-md-8">
          <textarea name="descriptions" class="form-control" placeholder="Enter product descriptions"></textarea>
        </div>

        <div class="form-group col-md-3">
          <label for="photo">Choose Image</label>
          <input type="file" name="image" class="form-control-file">
        </div>
      </div>

      <br>

      <div class="row">
        <div class="form-group col-md-3">
          <button type="submit" class="btn btn-success">Create</button>
        </div>
      </div>
    </form>
 </div>

Upvotes: 1

Related Questions