[记账系统] - 不能正确获取radio的值

本文解决了一个关于使用jQuery设置Radio按钮值的问题,展示了错误的代码片段并提供了修正后的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

在做菜单的修改操作时,菜单的是否为当前状态总是修改不了。

(如上图,无论选择是还是否,都无法改变)

 

错误代码如下:

$(function(){		   
	/*调取修改信息*/
	$(".edit").click(function(){
		var url = $(this).attr("oprUrl");
		$.getJSON(url, function(json){
			$("fieldset input[name='id']").val(json.data.ID);
			$("fieldset input[name='name']").val(json.data.name);
			$("fieldset input[name='link']").val(json.data.thelink);
			$("fieldset input[name='describe']").val(json.data.describe);
			$("fieldset input[name='current']").val(json.data.current);
			if(json.data.current == "current"){
				$("#cyes").click();
			}else{
				$("#cno").click();
			}
			$("#selparent").val(json.data.parentID);//设置父级菜单显示内容
		});	
	});		   
});

对应页面代码:

<p style="border:none;">
   <label>是否为当前状态</label>
   <input id="cyes" type="radio" name="current" value="current" checked="" /> 是<br />
   <input id="cno" type="radio" name="current" value=""  checked=""/> 否
</p>

错误原因:

        在调取修改信息的js方法中,有一句“ $("fieldset input[name='current']").val(json.data.current);  ”。即:已经设置了name为current的radio的值,无论怎样点击radio,其值都是“ json.data.current ”,不会改变。

-----------------------------------------------------------------------------------------
错误演示代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>错误演示</title>
<script type="text/javascript" src="jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(function(){
	$("input[name='aa']").val('otherval');
	
	$("#btn").click(function(){
		var val = $("input[name='aa']").val();
		alert(val);
	});
});
</script>
</head>

<body>

<input id="a" type="radio" name="aa" value="a" />a<br />
<input id="b" type="radio" name="aa" value="b" />b<br />
<input id="c" type="radio" name="aa" value="c" />c<br />

<input type="button" id="btn" value="test" />

</body>
</html>


-----------------------------------------------------------------------------------------


总结:

       避免以 “ $("input[name='aa']").val(); ”方式设置radio值。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值