html 下拉框 需求单名称 单选框<div class="form-group"> <label class="col-sm-2 control-label">检查员类别:</label> <div class="col-sm-9"> <div class="radio-box" th:each="dict : ${@dict.getType('xqd_jcy_lb')}"> <input type="radio" th:id="${'fenlei_' + dict.dictCode}" name="fenlei" th:value="${dict.dictValue}" th:checked="${dict.default}"> <label th:for="${'fenlei_' + dict.dictCode}" th:text="${dict.dictLabel}"></label> </div> </div> </div> 二级联动。 需求单名称的值为1,检查员类别只能选11,12,13,14,15,其它不可见,非选中状态。需求单名称的值为2,检查员类别只能选12,其它不可见,非选中状态。需求单名称的值为3,检查员类别只能选12,其它不可见,非选中状态。需求单名称的值为4,检查员类别只能选13,其它不可见,非选中状态。需求单名称的值为5,检查员类别只能选14,其它不可见,非选中状态。需求单名称的值为6,检查员类别只能选15,其它不可见,非选中状态。需求单名称的值为7,检查员类别只能选11,12,13,14,15,其它不可见,非选中状态。需求单名称的值为8,检查员类别只能选11,12,13,14,15,其它不可见,非选中状态。需求单名称的值为9,检查员类别只能选11,12,13,14,15,其它不可见,非选中状态。需求单名称的值为10,检查员类别只能选32,其它不可见,非选中状态。需求单名称的值为11,检查员类别只能选21,22,其它不可见,非选中状态。需求单名称的值为12,检查员类别只能选21,22,其它不可见,非选中状态。
时间: 2024-03-06 09:48:26 浏览: 51
您可以使用JavaScript来实现需求单名称和检查员类别之间的联动效果。具体实现步骤如下:
1. 给需求单名称下拉框绑定change事件,当选中项发生变化时触发事件。
2. 在change事件中获取选中项的值,根据不同的值来控制检查员类别可选项和不可选项。
3. 根据需求单名称的值,设置相应的检查员类别可选项和不可选项,其它不可见并取消选中状态。
以下是一个简单的实现示例:
HTML代码:
```html
<div class="form-group">
<label class="col-sm-2 control-label">需求单名称:</label>
<div class="col-sm-9">
<select id="xqdmc" class="form-control">
<option value="1">需求单1</option>
<option value="2">需求单2</option>
<option value="3">需求单3</option>
<option value="4">需求单4</option>
<option value="5">需求单5</option>
<option value="6">需求单6</option>
<option value="7">需求单7</option>
<option value="8">需求单8</option>
<option value="9">需求单9</option>
<option value="10">需求单10</option>
<option value="11">需求单11</option>
<option value="12">需求单12</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查员类别:</label>
<div class="col-sm-9">
<div class="radio-box">
<input type="radio" id="fenlei_11" name="fenlei" value="11">
<label for="fenlei_11">11</label>
</div>
<div class="radio-box">
<input type="radio" id="fenlei_12" name="fenlei" value="12">
<label for="fenlei_12">12</label>
</div>
<div class="radio-box">
<input type="radio" id="fenlei_13" name="fenlei" value="13">
<label for="fenlei_13">13</label>
</div>
<div class="radio-box">
<input type="radio" id="fenlei_14" name="fenlei" value="14">
<label for="fenlei_14">14</label>
</div>
<div class="radio-box">
<input type="radio" id="fenlei_15" name="fenlei" value="15">
<label for="fenlei_15">15</label>
</div>
<div class="radio-box">
<input type="radio" id="fenlei_21" name="fenlei" value="21">
<label for="fenlei_21">21</label>
</div>
<div class="radio-box">
<input type="radio" id="fenlei_22" name="fenlei" value="22">
<label for="fenlei_22">22</label>
</div>
<div class="radio-box">
<input type="radio" id="fenlei_32" name="fenlei" value="32">
<label for="fenlei_32">32</label>
</div>
</div>
</div>
```
JavaScript代码:
```javascript
var xqdmc = document.getElementById("xqdmc");
var fenlei = document.getElementsByName("fenlei");
xqdmc.addEventListener("change", function() {
var selectedValue = this.value;
switch(selectedValue) {
case "1":
setFenleiOptions(["11", "12", "13", "14", "15"]);
break;
case "2":
setFenleiOptions(["12"]);
break;
case "3":
setFenleiOptions(["12"]);
break;
case "4":
setFenleiOptions(["13"]);
break;
case "5":
setFenleiOptions(["14"]);
break;
case "6":
setFenleiOptions(["15"]);
break;
case "7":
setFenleiOptions(["11", "12", "13", "14", "15"]);
break;
case "8":
setFenleiOptions(["11", "12", "13", "14", "15"]);
break;
case "9":
setFenleiOptions(["11", "12", "13", "14", "15"]);
break;
case "10":
setFenleiOptions(["32"]);
break;
case "11":
setFenleiOptions(["21", "22"]);
break;
case "12":
setFenleiOptions(["21", "22"]);
break;
default:
setFenleiOptions([]);
}
});
function setFenleiOptions(options) {
for(var i = 0; i < fenlei.length; i++) {
var value = fenlei[i].value;
if(options.indexOf(value) != -1) {
fenlei[i].style.display = "inline-block";
fenlei[i].disabled = false;
} else {
fenlei[i].style.display = "none";
fenlei[i].disabled = true;
fenlei[i].checked = false;
}
}
}
```
通过以上代码,当选中不同的需求单名称时,检查员类别的可选项会发生相应的变化。
阅读全文