多选框加和单选框一样的控制,只能选一个

几个月前写的,现在觉得还是单选框方便吧,而且也不丑。

记录一下:

1.两个多选框 id为c1,c2

//设置多选框只能选择一项
function checkOne() {
if (document.getElementById("c1").checked) {
$("#c2").attr("disabled", "disabled");
}
else {
$("#c2").removeAttr("disabled");
}
if (document.getElementById("c2").checked) {
$("#c1").attr("disabled", "disabled");
}
else {
$("#c1").removeAttr("disabled");
}
}

2.五个多选框,这五个

<td class="ypt_input_td" colspan="3" nowrap="nowrap">
<input id="c1" type="checkbox" name="TbrConfirm" value="0" onclick="checkOne(3)" />非常满意
<input id="c2" type="checkbox" name="TbrConfirm" value="1" onclick="checkOne(3)" />比较满意
<input id="c3" type="checkbox" name="TbrConfirm" value="2" onclick="checkOne(3)" />基本满意
<input id="c4" type="checkbox" name="TbrConfirm" value="3" onclick="checkOne(3)" />不太满意
<input id="c5" type="checkbox" name="TbrConfirm" value="4" onclick="checkOne(3)" />很不满意
<span style="color: Red">*</span>
</td>

 

//设置多选框只能选择一项 add by wh 2016-10-21
function checkOne(flag) {
if (flag == 1) {
if (document.getElementById("a1").checked) {
$("#a2").attr("disabled", "disabled");
}
else {
$("#a2").removeAttr("disabled");
}
if (document.getElementById("a2").checked) {
$("#a1").attr("disabled", "disabled");
}
else {
$("#a1").removeAttr("disabled");
}
}
else if (flag == 2) {
if (document.getElementById("b1").checked) {
$("#b2").attr("disabled", "disabled");
}
else {
$("#b2").removeAttr("disabled");
}
if (document.getElementById("b2").checked) {
$("#b1").attr("disabled", "disabled");
}
else {
$("#b1").removeAttr("disabled");
}
}
else if (flag == 3) {

var arr = ["1", "2", "3", "4", "5"];
for (var i = 0; i < 5; i++) {
if (document.getElementById("c" + arr[i]).checked) {
var arr2 = arr.splice(i, 1);
for (var j = 0; j < 4; j++) {
$("#c" + arr[j]).attr("disabled", "disabled");
}
return;
}
else {
$("#c" + arr[i]).removeAttr("disabled");
}
}
}
}

 

posted @   淘来的星湖  阅读(2610)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示