JQ 控制函数执行以及根据后台的值选中checkbox

这几天被上述问题搞疯了,各种百度,就是解决不了,然后今天才知道以前的项目有这个功能,于是看了一下源码,解决了。

总结一下:

首先第一个问题,JQ控制函数的执行

是根据单选框的值,决定是否执行函数

首先把函数写出来

function show(){内容根据项目};

function hide(){内容根据项目};

然后 就是重点了

$(document).ready(function() {

var ifmodel = "${seal.ifModel}";
if(ifmodel == "0"){

    show();

        }else{

             hide()  

       }

});

这样就可以控制函数的执行了

然后,根据后台的值选中checkbox

var configuration= "${seal.configuration}" ;  // 根据EL获取后台传过来的值
var configurations = new Array(); // 定义一个数组,因为是checkbox 所有有很多相同的name
configurations = configuration.split(","); //因为checkbox的value传到数据库的时候,多个值之间是有,的
var peizhi = document.getElementsByName ("configuration"); //根据name获取标签 因为有多个相同的name,所以是一个数组
for( var i=0;i<peizhi.length;i++){  //对于每一个checkbox的id

if(peizhi[i].value == configurations[0]){  // 判断checkbox的value与后台传来的值进行比较,
document.getElementById(peizhi[i].id).checked = true; //根据id,选中  
}
if(peizhi[i].value == configurations[1]){
document.getElementById(peizhi[i].id).checked = true;
}
if(peizhi[i].value == configurations[2]){
document.getElementById(peizhi[i].id).checked = true;
}

}

这就是大概了,所有的东西,写在js里

<td>是否需要客户提供信息</td>
						  		    <td><input name="ifModel" id = "ifModel_1" type="radio"  value = "0" 
						  		        <c:if test = "${seal.ifModel eq '0'}"> checked </c:if> onchange = "show();">是
						  			    <input name="ifModel" id = "ifModel_2" type="radio"  value = "1" 
						  			    <c:if test = "${seal.ifModel eq '1'}"> checked </c:if> onchange = "hide();">否</td>

如果想点击一个redio,然后执行某个函数,就用用onchange

为什么onclick不行,估计是因为value值发生了改变吧,我也是猜的

猜你喜欢

转载自blog.csdn.net/qq_35815781/article/details/80512561
jq