【问题标题】:Change the Bootstrap Form with Bootstrap Dropdown and Jquery使用 Bootstrap Dropdown 和 Jquery 更改 Bootstrap 表单
【发布时间】:2019-05-14 13:33:31
【问题描述】:

我想使用下拉和 jquery 更改要显示的表单,但似乎不起作用。我确实尝试了一个仅使用几个 div 和一个段落的简单代码,并且我认为它起作用了,因为当我将表单放入其中时它不再起作用。 顺便说一下,这是我的代码:

//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>

这里是 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();
                }
            });

我也尝试了任何不同的方法,但我仍然无法找出我错过了什么。 你会这么好心来帮助我吗?

【问题讨论】:

    标签: javascript jquery html twitter-bootstrap user-interface


    【解决方案1】:

    您的else if 条件与) 不接近并添加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();
                    }
                });
    <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>

    【讨论】:

    • 谢谢,但它也不起作用。当然,我之前也包含了 jquery。或者可能是因为表单中的细分下拉列表?那个 php 块?
    • 它似乎正在工作。您是否尝试过刷新页面?
    • 我已经刷新了很多次页面,更不用说清除缓存了。我实际上得到了问题的根源。它在 php 脚本中。它之所以在 sn-p 上工作,是因为它在此环境中不请求任何数据。但是由于我在我的服务器上运行它,所以脚本是活动的并且会干扰 jquery。那就是我所想的。现在我必须找到另一种方法来做到这一点。有什么想法吗?
    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 2019-05-29
    • 2021-09-07
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    相关资源
    最近更新 更多