js怎么实现给单选按钮设默认值?最好有代码给出 我想给单选按钮设默认值,请问js怎么实现?不要在页面直接给个默认值的那种,是要从数据库中查出后再初始化到页面的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $(document).ready(function(){ //------------------------------------------------------------// accountManager.searchAclRecForAcc( ${CAACLManageForm.accId}, function(datas){ for(var i=0,j=datas.length; i < j; i++){ var modId = datas[i][0]; var cState = datas[i][1]; var rState = datas[i][2]; var uState = datas[i][3]; var dState = datas[i][4]; var extState = datas[i][5]; $.setInitState(modId,"_C",cState); $.setInitState(modId,"_R",rState); $.setInitState(modId,"_U",uState); $.setInitState(modId,"_D",dState); $.setInitState(modId,"_EXT",extState); $.setInitState(modId,"_ACC",true); } } );$.extend({ setInitState:function(modId,suffix,state){ var temp="#"+modId+suffix; $(temp).attr("checked",$.getPerState(state)); } }); //------------------------------------------------------------// });自己慢慢想,这个使用dwr和jquery组合就行了。 楼上的兄弟,dwr会用 但jquery只是 以前了解一点点 但在项目中没具体的用过能不能把你上面的代码写些注释了 看不太明白昨天我已经用dwr和js实现了:在父页面里用dwr取值过来: function getUser(UserId){ UserManager.getUserById(UserId,function(data){ var obj = new Array(3); obj[0]=data.name; obj[1]=data.sex; obj[2]=data.age; var url="<%=request.getContextPath()%>/modifyUser.jsp"; var result = window.showModalDialog(url,obj,"dialogWidth=380px;dialogHeight=280px"); window.location.href=encodeURI(encodeURI("UserAction.do?action=modifyUser&name="+result[1]+"&age="+result[2]+"&sex="+result[0]+"&id="+UserId));然后在子页面: function init(){ var obj = window.dialogArguments; document.all.name.value=obj[0]; document.all.age.value=obj[2]; flag = document.getElementsByName("sex"); if(obj[1]=="男"){ flag[0].checked=true; }else{ flag[1].checked=true; } }相信你看这个应该比较容易了,但我现在的水平只能这么做了,能不能就你的dwr和jquery组合做一些注释?我也很想学jquery了,知道它比较流行,能不能就jquery做一些说明和小例子 怎么用它小弟感激不尽!! <html> <head> <title>初始化单选</title> <script> function initradio(radioName,radioValue){ var radioObjects = document.getElementsByName(radioName); for(var i = 0;i < radioObjects.length;i++){ if(radioObjects[i].value == radioValue){ radioObjects[i].checked = 'checked'; } } } </script> </head> <body> <form action="#"> 1<input type="radio" name="testRadio" value="1"> 2<input type="radio" name="testRadio" value="2"> 3<input type="radio" name="testRadio" value="3"> </form> <script> initradio('testRadio',2); </script> </body></html> 我画了个简单的页面,基本能实现功能,楼主看看哈<%@page pageEncoding="gbk" %><html> <head> <title>Index</title> <script type="text/javascript"> function initradio(name,value){ var r1=document.getElementsByName(name); for(var i=0;i<r1.length;i++){ if(r1[i].value==value){ r1[i].checked=true; } } } </script> </head> <body onload="initradio('r','<%=request.getParameter("value") %>')"> <center> <h1>Index</h1> <hr> <p>请选择:</p> <input type="radio" name="r" value="A">A <br> <input type="radio" name="r" value="B">B <br> <input type="radio" name="r" value="C">C <br> <input type="radio" name="r" value="D">D <br> </center> </body></html> <body onload="initradio('r','<%=request.getParameter("value") %>')">5楼的兄弟,确定能在js中获得value的值吗? function initradio(name,value) 我在js中测试了一下 发现这个value值为空!! 这样写可以吗?? <%@page pageEncoding="gbk" %><html> <head> <title>Index</title> <script type="text/javascript"> function initradio(name,value){ var r1=document.getElementsByName(name); for(var i=0;i<r1.length;i++){ if(r1[i].value==value){ r1[i].checked=true; } } } </script> </head> <body onload="initradio('r','<%=request.getParameter("value") %>')"> <center> <h1>Index</h1> <hr> <p>请选择:</p> <input type="radio" name="r" value="A">A <br> <input type="radio" name="r" value="B">B <br> <input type="radio" name="r" value="C">C <br> <input type="radio" name="r" value="D">D <br> </center> </body></html> 你不是说从数据库查询出来吗,当然要在打开页面的时候传一个参数value进来了,在前一个页面将你从数据库查询出的数据保存在request中,我这里只是模拟了一个参数,你打开页面应该这样写http://localhost:8080/index.jsp?value='A'或者http://localhost:8080/index.jsp?value='B'或者http://localhost:8080/index.jsp?value='C'或者http://localhost:8080/index.jsp?value='D' 明白你的意思了,但是你这样写不是存在很大的局限性吗?举两个反例吧: 第一,对记录进行修改时,传个id从数据库中查询出来,用一页面显示这条数据 比如像这样子传值: window.location.href=encodeURI(encodeURI("UserAction.do?action=deleteUser&id="+UserId)); 修改时根本不需要传sex这个值,只要传id就行了 第二,就是我现在实现的(一个修改功能的代码,)。父页面代码: function getUser(UserId){ UserManager.getUserById(UserId,function(data){//这里是dwr实现 var obj = new Array(3); obj[0]=data.name;//dwr配置值后可以直接取值了 obj[1]=data.sex; obj[2]=data.age; var url="<%=request.getContextPath()%>/modifyUser.jsp"; var result = window.showModalDialog(url,obj,"dialogWidth=380px;dialogHeight=280px"); window.location.href=encodeURI(encodeURI("UserAction.do?action=modifyUser&name="+result[1]+"&age="+result[2]+"&sex="+result[0]+"&id="+UserId));这里我还有个疑问:父页面的值是用foreach循环出来了,那么做修改功能时能不能不用从数据库中再查询一次?(我起初是想把这里的值直接在页面上传值后修改,但foreach这样实现根本无法通过js取到对应的值。我想知道的是我这样的想法是否可行?如果可行是什么方式或是什么技术能实现我所说的?因为我觉得这样做会提高运行效率,但同时我也知道在页面上频繁而又大批量的传值是不安全的,那么在这里你们是怎么认为的?)那么按照8楼的说法,我这样用showModalDialog传值,在子页面里用 <body onload="initradio('r',' <%=request.getParameter("value") %>')"> 也是根本行不通的了刚学java不久,可能有太多的“愚见”,希望得到各位同仁的指点 页面中添加隐藏域,获取数据库返回值;<input type="hidden" id="value"><script type="text/javascript"> if(doucment.getElementById("value").value.length>0){var radios=document.getElementsByName(radioname); for(var i=0;i <radios.length;i++){ if(radios[i].value==doucment.getElementById("value").value){ radios[i].checked=true; } } } </script> 我只是举个例子而已,不知道你用的什么架构,应该是后台servlet或者action中将你的user对象查询出来,一般来讲是一个user的list,使用request.setAttribute(attrName,attrValue);将参数传到前台页面,attrName是参数名(前台页面中取得参数时用到),attrValue是参数值(也就是前面的list),跳转到前台页面,使用List list = (List)request.getAttribute(attrName);得到参数,然后遍历这个list,动态显示页面内容,那个点击的链接可以这样写:<a href="<%=request.getContextPath()%>/modifyUser.jsp?id=<%=user.id %>"><%=user.id %></a> 熟悉Spring 3的同学,来帮帮忙呀 一个关于java计算的难题,求高人呀 关于添加功能的约束 在displaytag中 我想判断(c:if)某一列是否为0,为0则不显示 不为0则显示其值 要怎么实现 log4j 开心网 表情 实现方式? Hibernate 注解Blob字段 想自动完成,从svn服务器上得到代码的压缩包并上传到指定的ftp服务器上,各位帮帮忙啊! 关于J2EE应用性能问题 弱智问题:一般bean与EJB有什么不同? 如果是你会继续干下去吗? javabean问题
//------------------------------------------------------------//
accountManager.searchAclRecForAcc(
${CAACLManageForm.accId},
function(datas){
for(var i=0,j=datas.length; i < j; i++){
var modId = datas[i][0];
var cState = datas[i][1];
var rState = datas[i][2];
var uState = datas[i][3];
var dState = datas[i][4];
var extState = datas[i][5];
$.setInitState(modId,"_C",cState);
$.setInitState(modId,"_R",rState);
$.setInitState(modId,"_U",uState);
$.setInitState(modId,"_D",dState);
$.setInitState(modId,"_EXT",extState);
$.setInitState(modId,"_ACC",true);
}
}
);$.extend({
setInitState:function(modId,suffix,state){
var temp="#"+modId+suffix;
$(temp).attr("checked",$.getPerState(state));
}
});
//------------------------------------------------------------//
});自己慢慢想,这个使用dwr和jquery组合就行了。
能不能把你上面的代码写些注释了 看不太明白
昨天我已经用dwr和js实现了:在父页面里用dwr取值过来:
function getUser(UserId){
UserManager.getUserById(UserId,function(data){
var obj = new Array(3);
obj[0]=data.name;
obj[1]=data.sex;
obj[2]=data.age;
var url="<%=request.getContextPath()%>/modifyUser.jsp";
var result = window.showModalDialog(url,obj,"dialogWidth=380px;dialogHeight=280px");
window.location.href=encodeURI(encodeURI("UserAction.do?action=modifyUser&name="+result[1]+"&age="+result[2]+"&sex="+result[0]+"&id="+UserId));然后在子页面:
function init(){
var obj = window.dialogArguments;
document.all.name.value=obj[0];
document.all.age.value=obj[2];
flag = document.getElementsByName("sex");
if(obj[1]=="男"){
flag[0].checked=true;
}else{
flag[1].checked=true;
}
}
相信你看这个应该比较容易了,但我现在的水平只能这么做了,能不能就你的dwr和jquery组合做一些注释?
我也很想学jquery了,知道它比较流行,能不能就jquery做一些说明和小例子 怎么用它
小弟感激不尽!!
<html>
<head>
<title>初始化单选</title>
<script>
function initradio(radioName,radioValue){
var radioObjects = document.getElementsByName(radioName); for(var i = 0;i < radioObjects.length;i++){
if(radioObjects[i].value == radioValue){
radioObjects[i].checked = 'checked';
}
}
}
</script>
</head>
<body>
<form action="#">
1<input type="radio" name="testRadio" value="1">
2<input type="radio" name="testRadio" value="2">
3<input type="radio" name="testRadio" value="3">
</form>
<script>
initradio('testRadio',2);
</script>
</body>
</html>
<%@page pageEncoding="gbk" %>
<html>
<head>
<title>Index</title>
<script type="text/javascript">
function initradio(name,value){
var r1=document.getElementsByName(name);
for(var i=0;i<r1.length;i++){
if(r1[i].value==value){
r1[i].checked=true;
}
}
}
</script>
</head>
<body onload="initradio('r','<%=request.getParameter("value") %>')">
<center>
<h1>Index</h1>
<hr>
<p>请选择:</p>
<input type="radio" name="r" value="A">A
<br>
<input type="radio" name="r" value="B">B
<br>
<input type="radio" name="r" value="C">C
<br>
<input type="radio" name="r" value="D">D
<br>
</center>
</body>
</html>
function initradio(name,value)
我在js中测试了一下 发现这个value值为空!!
这样写可以吗??
<html>
<head>
<title>Index</title>
<script type="text/javascript">
function initradio(name,value){
var r1=document.getElementsByName(name);
for(var i=0;i<r1.length;i++){
if(r1[i].value==value){
r1[i].checked=true;
}
}
}
</script>
</head>
<body onload="initradio('r','<%=request.getParameter("value") %>')">
<center>
<h1>Index</h1>
<hr>
<p>请选择:</p>
<input type="radio" name="r" value="A">A
<br>
<input type="radio" name="r" value="B">B
<br>
<input type="radio" name="r" value="C">C
<br>
<input type="radio" name="r" value="D">D
<br>
</center>
</body>
</html>
第一,对记录进行修改时,传个id从数据库中查询出来,用一页面显示这条数据
比如像这样子传值: window.location.href=encodeURI(encodeURI("UserAction.do?action=deleteUser&id="+UserId)); 修改时根本不需要传sex这个值,只要传id就行了
第二,就是我现在实现的(一个修改功能的代码,)。父页面代码:
function getUser(UserId){
UserManager.getUserById(UserId,function(data){//这里是dwr实现
var obj = new Array(3);
obj[0]=data.name;//dwr配置值后可以直接取值了
obj[1]=data.sex;
obj[2]=data.age;
var url="<%=request.getContextPath()%>/modifyUser.jsp";
var result = window.showModalDialog(url,obj,"dialogWidth=380px;dialogHeight=280px");
window.location.href=encodeURI(encodeURI("UserAction.do?action=modifyUser&name="+result[1]+"&age="+result[2]+"&sex="+result[0]+"&id="+UserId));
这里我还有个疑问:父页面的值是用foreach循环出来了,那么做修改功能时能不能不用从数据库中再查询一次?(我起初是想把这里的值直接在页面上传值后修改,但foreach这样实现根本无法通过js取到对应的值。我想知道的是我这样的想法是否可行?如果可行是什么方式或是什么技术能实现我所说的?因为我觉得这样做会提高运行效率,但同时我也知道在页面上频繁而又大批量的传值是不安全的,那么在这里你们是怎么认为的?)
那么按照8楼的说法,我这样用showModalDialog传值,在子页面里用 <body onload="initradio('r',' <%=request.getParameter("value") %>')"> 也是根本行不通的了
刚学java不久,可能有太多的“愚见”,希望得到各位同仁的指点
<script type="text/javascript">
if(doucment.getElementById("value").value.length>0){
var radios=document.getElementsByName(radioname);
for(var i=0;i <radios.length;i++){
if(radios[i].value==doucment.getElementById("value").value){
radios[i].checked=true;
}
}
}
</script>