如果用户未选择任何内容,则我的下拉菜单会带有有效的引导程序验证。但是我想根据用户在第一次选择中的选择来验证不同的(必需)选择。
<select class="custom-select d-block w-100 mb-4" id="case-select" name="case-select" required>
<option value="">Select case</option>
<option class="case" value="A">Case 1</option>
<option class="case" value="B">Case 2</option>
<option class="case" value="C">Case 3</option>
<option class="case" value="D">Case 4</option>
<option class="case" value="E">Case 5</option>
<option class="case" value="F">Case 6</option>
</select>
我会根据用户的选择显示新的复选框。
$('.cases').hide();
$('#' + $(this).val()).show();
<div class="cases" id="A">
<select>
<option>0</option>
<option>1</option>
<option>2</option>
</select>
</div>
<div class="cases" id="B">
<select>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</div>
但是我该如何验证呢?如果用户在第一个下拉列表中选择A,我想验证他们是否从ID为A的div中选择0、1或2(我不在乎3,4 och 5)。 但是,如果他们在第一个复选框中选择了B,我想验证他们是否从div ID B中选择了3、4或5。
如果用户从第一个下拉列表中选择A。他们需要从div的ID为A的下拉列表中选择内容。
答案 0 :(得分:1)
使用Bootstrap 4
源代码
function disableEachSelectChildren() {
$(".case").each(function (index, obj) {
$(this).children("select:first-child").attr("disabled", "");
});
}
$(document).ready(function () {
disableEachSelectChildren();
$("#case-select").change(function () {
disableEachSelectChildren();
let selectedCaseValue = $("#case-select").find(":selected").attr("value");
if (selectedCaseValue) {
$("#" + selectedCaseValue).children("select:first-child").removeAttr("disabled");
}
});
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container-fluid bg-light">
<div class="col-12 my-3 pt-4 pb-2">
<div class="row">
<select class="custom-select d-block w-100 mb-2" id="case-select" name="case-select" required>
<option value="">Select case</option>
<option class="cases" value="A">Case 1</option>
<option class="cases" value="B">Case 2</option>
<option class="cases" value="C">Case 3</option>
<option class="cases" value="D">Case 4</option>
<option class="cases" value="E">Case 5</option>
<option class="cases" value="F">Case 6</option>
</select>
</div>
<div class="row">
<div class="case col-6 col-lg-2 py-3 text-center" id="A">
A <select class="w-100 border border-dark">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
</div>
<div class="case col-6 col-lg-2 py-3 text-center" id="B">
B <select class="w-100 border border-dark">
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</div>
<div class="case col-6 col-lg-2 py-3 text-center" id="C">
C <select class="w-100 border border-dark">
<option>6</option>
<option>7</option>
<option>8</option>
</select>
</div>
<div class="case col-6 col-lg-2 py-3 text-center" id="D">
D <select class="w-100 border border-dark">
<option>9</option>
<option>10</option>
<option>11</option>
</select>
</div>
<div class="case col-6 col-lg-2 py-3 text-center" id="E">
E <select class="w-100 border border-dark">
<option>12</option>
<option>13</option>
<option>14</option>
</select>
</div>
<div class="case col-6 col-lg-2 py-3 text-center" id="F">
F <select class="w-100 border border-dark">
<option>15</option>
<option>16</option>
<option>17</option>
</select>
</div>
</div>
</div>
</div>
希望对您有帮助。