<input type="radio"  id=""class="change1"  name="change1" value=""  checked style="margin-left:840px;"/> 2D图
<input type="radio"  class="change1"  name="change1" value="3D" > 3D图
这儿有两个单选按钮,我希望提交以后这个单选按钮的值不变
但是我用的是刷新提交,我把这个单选按钮的值传到后台,然后希望通过前台js给这个按钮赋值,求大神知道这个功能如何实现?javascript

解决方案 »

  1.   

    那就别用刷新提交,用ajax提交得了。
      

  2.   

    ajax提交不会使用,有给单选框赋值的属性吧
      

  3.   

    ajax提交一切都可以解决,页面不会刷新。之前选中的radio也就保存了。
      

  4.   

    我也知道ajax可以解决阿,但是不会用,现在看的话时间来不急阿
      

  5.   

    <input type="radio"  id=""class="change1"  name="change1" 
    >value="2D" <%if (value=="2D"){%> checked="checked"<%}%> style="margin-left:840px;"/> 2D图
    <input type="radio"  class="change1"  name="change1" value="3D"<%if (value=="3D"){%> checked="checked"<%}%>  >
     这样吧。<%if (value=="2D"){%>这样的代码你理解呗。。
      

  6.   


    可以通过js判断吗?肯定不能在jsp页面上些代码阿,会被骂的
      

  7.   

    不管咋样你总的告诉前端哪些需要选中。。你也可以这么写
    <script type="text/javascript">
        var checked = '<%= whochecked%>'
        window.onload = function(){
            var radios = document.getElementsByTagName('change1');
            var len = radios.length;
            for(var i=0;i<len;i++){
                if(checked==radios[i].value){
                    radios[i].setAttribute('checked','checked');
                }
            }
        }
    </script>
      

  8.   

    <script type="text/javascript">
        var checked = '<%= whochecked%>'
        window.onload = function(){
            var radios = document.getElementsByName('change1');
            var len = radios.length;
            for(var i=0;i<len;i++){
                if(checked==radios[i].value){
                    radios[i].setAttribute('checked','checked');
                }
            }
        }
    </script>写错了,应该是getElementsByName
      

  9.   

    什么是刷新?刷新就是重新请求页面。你想刷新后返回的页面的内容和刷新前一样,那为什么还有刷新? 好吧,如果你必需刷新,但又不想丢失页面上已有的数据,那你就必须在刷新前把数据存起来,后台重新解析页面时从那个数据文件中读取数据,构建页面。你不提交页面,那数据只能在刷新事件触发前通过js偷偷的存到后台(不触发页面回发,和后台通信,这应该是ajax吧),或者js在客户端写cookie,页面在客户端加载时读取cookie。还有其他方法?
      

  10.   


    这个我能判断checked和radios[i].value相等,但是下面这句radios[i].setAttribute('checked','checked');好像没有执行
      

  11.   

    点击2D传过来的是空格,点击3D传过来的是“3D”
      

  12.   

    $(".change1").click(function(){
    var type=document.getElementById("change").value;
    alert(type);
    if(type==""){
    type="bar";
    }

    var style =$('input:radio[name="change1"]:checked').val(); 
    alert("style="+style);
    var checked=$('input:radio[name="change1"]:checked').val();
    alert("checked="+checked);

    var radios=document.getElementsByName('change1');
    var len=radios.length;
    alert("len="+len);
    alert(radios[0]);
    for(var i=0;i<len;i++){
    if(style==radios[i].value){
    radios[i].setAttribute('checked',true);
    }
    }

     change=type+style; 
     alert("change="+change);
     $("#change").val(change);

    var url =window.location.href;
    $("#form1").attr("action",url);
    top.showWait("图片生成中...");
    $("#form1").submit();
    });
    <input type="radio"  id=""class="change1"  name="change1" value=""  checked style="margin-left:840px;"/> 2D图
    <input type="radio"  class="change1"  name="change1" value="3D" > 3D图
      

  13.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
     <head>
      <title> New Document </title>
      <meta name="Generator" content="EditPlus">
      <meta name="Author" content="">
      <meta name="Keywords" content="">
      <meta name="Description" content="">
     </head>
    <script language="javascript">
    function Initradio(){
    var radios = document.getElementsByName("change1");//获取单选框
    var returnstr = "3D";                  //获取返回的值,这里我假设是3D,你到时候自己改
    for(i=0;i<radios.length;i++){          //循环单选框
    if(radios[i].value == returnstr)   //判断是否等于单选框的值
    radios[i].checked = true;          //选中单选框
    }
    }
    </script>
     <body onload="Initradio()">
    <input type="radio"  id=""class="change1"  name="change1" value="2D"  checked style="margin-left:840px;"/> 2D图
    <input type="radio"  class="change1"  name="change1" value="3D" > 3D图 </body>
    </html>
      

  14.   

    你2D的radio中 value 本来就是写的 ""。我上面代码给你加上了