如何将JSP中RadioBox设为不可选状态,并且不变灰

本文探讨了在不使用disabled属性的情况下,如何通过JavaScript控制单选按钮的状态,避免页面加载时初始选中的单选按钮被取消选择,并提供了一种可行的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

试过了onchange,onclick事件都不好使。(不用 disabled="true"的情况下)
比如:οnclick="JavaScrirpt: return false;"
结果是确实不可以重新选中一组RadioBox中的其它 单选钮,但是页面加载时的初始选中的 单选钮 会被置为 未选状态(只要你点击了其它radiobox)。
οnchange="JavaScript:if(this.checked) {this.checked = false;} else{this.checked = true;}" 也有问题,不好解决。
而加一种方法是用 disabled="true" 后再更改 radiobox的CSS样式。
可结果我发现只能改变 背景 没办法改变 前景色(即radiobox始终是灰的。)

这种问题当然我要是用大段的逻辑代码来控制当然是可以实现的,但我不愿那样做,太没必要了。
请高手们指点呀。
//******************************************************************************************
<script language="javascript">
function resumeRadio(radioId, radioName, hidId) {
var radioObj = document.getElementById(radioId);
radioObj.checked = !radioObj.checked;
var radioObjGroup = document.forms[0].elements(radioName);
var groupIdx = document.getElementById(hidId).value;
if (groupIdx.length > 0) {
radioObjGroup[parseInt(groupIdx)].checked = true;
}
}
</script>

<input type="hidden" name="familyTypeIndex" id="familyTypeIndex" value="" />
<logic:iterate id="familytyps" name="FamilyForm" property="diagnosisUnitOptions" indexId="index">
<bean:define id="codeValue">
<bean:write name="familytyps" property="code" />
</bean:define>
<logic:equal name='FamilyForm' property='familyBasics.familyType' value='<%= (String)pageContext.getAttribute("codeValue") %>'>
<script language="JavaScript">
document.getElementById("familyTypeIndex").value = "<%= index %>";
</script>
</logic:equal>
<html:radio property='familyBasics.familyType' styleId='radioFamilyType<%= index %>' value='<%= (String)pageContext.getAttribute("codeValue") %>' οnclick='resumeRadio(this.id,this.name,"familyTypeIndex")'/>
<bean:write name="familytyps" property="codeName" />
</logic:iterate>

都弄成这样了,还是不行。
老说这里有语法错误,我真的搞不懂了
οnclick='resumeRadio(this.id,this.name,"familyTypeIndex")'
我把this.id,this.name换成相应的 字符串形式也不行。
//******************************************************************************************
奶奶地,终于好了。
注意这句的写法
<html:radio property='familyBasics.familyType' value='<%= (String)pageContext.getAttribute("codeValue") %>' οnclick="resumeRadio(this.id,this.name,'familyTypeIndex')" styleId='<%= "radioFamilyType" + index %>' />
这里面的'familyTypeIndex'一定要用单引号包围。
resumeRadio(this.id,this.name,'familyTypeIndex')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值