如何在打开模态的同一按钮单击上验证选择字段?

时间:2019-02-15 08:01:49

标签: javascript jquery html twitter-bootstrap

我正在尝试验证选择,以选择一个选项以继续该过程。如果未选择任何选项,则应显示一个警告框,否则应打开模式。就我而言,模态可以通过任何一种方式打开。

<select  class="form-control" id="account_name"  name="account_name">
<option  value="">Select Customer..</option>
     <?php
    while ($rows = pg_fetch_assoc($result)) { ?>
          <option value="<?= $rows['address1'] . ' ' . 
              $rows['address2'] . ' ' . $rows['address3'] .' '.$name. '-' . 
              $rows['account_code']; ?>"><?= $rows['account_name']; ?>
          </option>
     <?php } ?>
 </select>

  <div class="wrapper1" id='business1'>
       <input type="submit" id="myBtn"  value="New Order" style="height:55px; width:170px; margin-left: -50px;" class="btn btn-success" />
  </div>

<!-- JQUERY -->

 $(document).ready(function () {
      $("#myBtn").click(function () {
         if ($("#account_name").val() === NULL){
            alert('Please select an option');           
         }
         else
         {
            $('#myModal').modal('show');
         }
      });
  });

使用此代码,模态不会显示在任何选择上,也不会显示警报框。

我也尝试这样做

 <select  class="form-control" id="account_name" name="account_name" 
 required>

尽管此处应用了验证,但如果未选择任何选项,则仍会在提交时打开模式。

1 个答案:

答案 0 :(得分:1)

javascript区分大小写,因此NULL不为null。 Javascript还尝试提供帮助,并将变量(如NULL)转换为字符串(如果不存在),因此您的代码会说(($(...)。val()==='NULL')从不真实,因此出现模态。 Javascript还将所有falsey值都转换为false ...,因此null,'',0和undefined均为false,并且我假设您没有将0或''用作选项之一,因此可以简单地将(!$ (...)。val()),代替