为什么判断输入框是否为空 判断成功,反而判断 下拉框只第一个可以判断到,第二个判断不到 直接就走后台了
<div class="form-item item-5">
<div class="qy-table-plugin">
<table id="detail-table" class="qy-simple-table">
<thead>
<tr>
<th style="min-width: 80px;">No.th>
<th style="min-width: 200px;">产品名称th>
<th style="min-width: 200px;">状态th>
<th style="min-width: 200px;">排序th>
tr>
thead>
<tbody id="detail_table_body">
<tr class="z-row">
<td>01td>
<td>
<input type="text" placeholder="请输入产品分类名称" class="qy-input" runat="server" id="input_name" />
td>
<td>
<asp:DropDownList runat="server" CssClass="drop1" ID="drop" Style="text-align: center; height: 14%; border-radius: 10px; width: 100px">
asp:DropDownList>
td>
<td>
<asp:DropDownList runat="server" ID="drop_sort" Style="text-align: center; height: 14%; border-radius: 10px" CssClass="drop1">
asp:DropDownList>
td>
tr>
<tr class="total-op-row">
<td colspan="3" class="cus-op-row-td">
<a class="qy-btn qy-button-6" id="add_row">增加1行a>
<a class="qy-btn qy-button-6" id="js_btn_add_row" >增加一行a>
<a class="qy-btn qy-button-7" id="js_btn_remove_row">删除一行a>
<%--<button class="qy-btn qy-button-6" id="js_btn_add_row ">增加一行button>--%>
<%--<button class="qy-btn qy-button-7" id="js_btn_remove_row ">删除一行button>--%>
td>
<td>
<input value="1" id="hideval" />
td>
tr>
tbody>
table>
div>
div>
<script type="text/javascript">
var result = true;
$('#Sub_Btn').click(function () {
var inputs = $('input,select');
//循环处理
inputs.each(function () {
if (this.type == 'text') {
if ($(this).val() == '') {
alert('Input can not be empty.')
console.log('Input can not be empty.');
result = false;
return false;
} else {
result = true;
}
}
if ($('.drop1 option:selected').val() <= 0) {
result = false;
alert('SELECT OPTION EMPTY');
console.log('SELECT OPTION EMPTY');
return false;
}
});
if (result) {
} else {
return false;
}
})
script>
```
该回答引用ChatGPT
首先,问题出现在判断下拉框是否为空的代码中,因为这段代码只能判断第一个下拉框是否为空。原因是你使用了类选择器".drop1"来选取下拉框,而类选择器选取的是所有具有该类的元素,因此会选取到表格中所有的下拉框,而不是只选取当前行的下拉框。
为了解决这个问题,你需要修改判断下拉框是否为空的代码。可以使用jQuery中的"this"来获取当前行的下拉框,例如:
if ($(this).find('.drop1 option:selected').val() <= 0) {
result = false;
alert('SELECT OPTION EMPTY');
console.log('SELECT OPTION EMPTY');
return false;
}
在这个代码中,$(this)表示当前正在处理的输入框或下拉框所在的行,而find(".drop1")则表示在这一行中查找类为"drop1"的元素,即下拉框,再通过option:selected选中选中的选项,最后判断选中的选项是否为空。
好的 非常感谢您百忙之中 回答我的问题 我稍后就去查看 学习