最近做个网上调查,用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>
<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>
<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>
checkRadio($(":radio[name='radio1']").val());这行代码在刷新后得到的总是人,但是如过你选择了鬼再刷新,页面上仍然选择的是鬼,但得到的value却是“人”。
checkRadio($(":radio[name='radio1']").val());改成下面的
if($('#radio2').attr("checked")) checkRadio($('#radio2').val());
else checkRadio($('#radio1').val());
else if($('#radio1').attr("checked")) checkRadio($('#radio1').val());
else checkRadio("");
我要继续学习jQuery,以后有问题还请多多帮助!