我正在尝试验证选择,以选择一个选项以继续该过程。如果未选择任何选项,则应显示一个警告框,否则应打开模式。就我而言,模态可以通过任何一种方式打开。
<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>
尽管此处应用了验证,但如果未选择任何选项,则仍会在提交时打开模式。
答案 0 :(得分:1)
javascript区分大小写,因此NULL不为null。 Javascript还尝试提供帮助,并将变量(如NULL)转换为字符串(如果不存在),因此您的代码会说(($(...)。val()==='NULL')从不真实,因此出现模态。 Javascript还将所有falsey值都转换为false ...,因此null,'',0和undefined均为false,并且我假设您没有将0或''用作选项之一,因此可以简单地将(!$ (...)。val()),代替