版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/study4034/article/details/51784677
radio标签的只读实现
网上看到一些实现radio标签只读的代码,但是并不合适我的使用场景,漫不经心的写着代码,无意说写出了一个新的实现方式,非常的简单。
- 原理:记录选中值,这样方便的实现radio的取消选中以及只读。
- js代码如下
var tempbsRadios = document.getElementsByName("bbjFlag");
var tempbsRadio = null;
var len = tempbsRadios.length;
if(len > 0){
for(var i =0;i<len;i++){
if(tempbsRadios[i].checked){
tempbsRadio = tempbsRadios[i];
}
}
}
function rejsp(obj){
if(obj==tempbsRadio){
tempbsRadio.checked = false;
tempbsRadio = null;
}else{
tempbsRadio = obj;
}
if(tempbsRadio != null){
if(tempbsRadio != null && tempbsRadio.value == "2"){
caseCarBaseForm.bjFlag.value="是";
caseCarBaseForm.method.value = "displayCaseBase";
caseCarBaseForm.submit();
}
}
}
function rejspReal(){
if(tempbsRadio != null){
tempbsRadio.checked = true;
}else{
var tempbsRadioss = document.getElementsByName("bbjFlag");
var len = tempbsRadioss.length;
if(len > 0){
for(var i =0;i<len;i++){
tempbsRadios[i].checked=false;
}
}
}
}
- 列表内容
// 当满足某种情况正常使用radio,此处实现了可取消选中
<%if(newCaseCarBaseForm.getHiddenPolicyNo()==null||newCaseCarBaseForm.getHiddenPolicyNo().equals("")){%>
<td bgcolor=<%=tdTitleBgColor%> colspan=2>
<html:radio property="bbjFlag" value="2" onclick="rejsp(this)">北京地区</html:radio>
<html:radio property="bbjFlag" value="3" onclick="rejsp(this)">上海地区</html:radio>
</td>
<%} %>
//当满足某种情况的时候,radio为只读,这样可以正常像后台提交radio <%if(newCaseCarBaseForm.getHiddenPolicyNo()!=null&&!newCaseCarBaseForm.getHiddenPolicyNo().equals("")){%>
<td bgcolor=<%=tdTitleBgColor%> colspan=2>
<html:radio property="bbjFlag" value="2" onclick="rejspReal()" >北京地区</html:radio>
<html:radio property="bbjFlag" value="3" onclick="rejspReal()" >上海地区</html:radio>
</td>
<%} %>