最近做个网上调查,用js控制个别题目,大概情况是人选择“人”的时候只能在下面的选择中选择“人1”或者“人2”,选择“鬼”的时候只能在下面选择“鬼1”或者“鬼2”。我初学js,不知道到底是我代码问题还是浏览器设置问题,这个代码在FF里没任何问题,但是在IE内核的浏览器里在选择了“人”或者“鬼”的时候正确,但是此时再刷新的话,页面又控制不了下面响应的题目了。请高手赐教!不知道我描述清楚没有,有不明白的热心人跟帖!
<div id="test1">
<input id="radio1" type="radio" name="radio1" value="人">人
<input id="radio2" type="radio" name="radio1" value="鬼">鬼
</div><div id="test2">
<input id="radio3" type="radio" name="radio2" value="人1">人1
<input id="radio4" type="radio" name="radio2" value="人2">人2
</div><div id="test3">
<input id="radio5" type="radio" name="radio3" value="鬼1">鬼1
<input id="radio6" type="radio" name="radio3" value="鬼2">鬼2
</div><SCRIPT LANGUAGE="JavaScript">
$("#test1 input").click(function(){
if($(this).attr("value") == "人"){
$("#test2 input").attr("disabled","");
$("#test3 input").attr("disabled","true");
}else{
$("#test3 input").attr("disabled","");
$("#test2 input").attr("disabled","true");
}
});
//-->
</SCRIPT>

解决方案 »

  1.   

    对了,我用的jQuery版本是1.2.3
      

  2.   

    <div id="test1">
    <input id="radio1" type="radio" name="radio1" value="人" checked="true">人
    <input id="radio2" type="radio" name="radio1" value="鬼">鬼
    </div> <div id="test2">
    <input id="radio3" type="radio" name="radio2" value="人1">人1
    <input id="radio4" type="radio" name="radio2" value="人2">人2
    </div> <div id="test3">
    <input id="radio5" type="radio" name="radio3" value="鬼1">鬼1
    <input id="radio6" type="radio" name="radio3" value="鬼2">鬼2
    </div>
    <SCRIPT type="text/javascript" LANGUAGE="JavaScript">
    $(function(){
       function checkRadio(value){
         alert(value);
     if(value == "人"){
       $("#test2 input").attr("disabled","");
       $("#test3 input").attr("disabled","true");
     }else if(value == "鬼"){
       $("#test3 input").attr("disabled","");
       $("#test2 input").attr("disabled","true");
     }
       }
       checkRadio($(":radio[name='radio1']").val());
       $("#test1 input").click(function(){checkRadio($(this).val())});
    })
    </SCRIPT>
      

  3.   

    $("input[type='radio']:checked").attr("disabled",false);
      

  4.   

    2楼的代码我试了,在IE下仍然不行。不过还是谢谢你了。
    checkRadio($(":radio[name='radio1']").val());这行代码在刷新后得到的总是人,但是如过你选择了鬼再刷新,页面上仍然选择的是鬼,但得到的value却是“人”。
      

  5.   


    checkRadio($(":radio[name='radio1']").val());改成下面的
    if($('#radio2').attr("checked"))  checkRadio($('#radio2').val());
    else  checkRadio($('#radio1').val());
      

  6.   

    if($('#radio2').attr("checked"))  checkRadio($('#radio2').val());
    else if($('#radio1').attr("checked"))  checkRadio($('#radio1').val());
    else checkRadio("");
      

  7.   

    谢谢cgpping了。终于成功了。真的谢谢你了。我还以为是IE的问题。没想到还是代码的问题。
    我要继续学习jQuery,以后有问题还请多多帮助!
      

  8.   

    我也正在学习jQuery...,共同进步。