问题描述
大家帮忙看下下面代码,为什么我不能正确获取radio的属性值,每次都是1代码如下:<!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=GBK" /><script language="javascript" src="jquery-1.4.2.js"></script><style>.child{display:none;}input{width:20px;}</style><script language="javascript">$(function(){var checked = false;$('div label.parent').toggle(function(){$('div',$(this).parents('div')).css('display','block');$('input',$(this).parents('div')).val('1');$('span',$(this).parents('div')).html($('div.child input[type=radio]:checked',$(this).parents('div')).val());checked=true;},function(){$('div',$(this).parents('div')).hide();$('input',$(this).parents('div')).val('0');$('span',$(this).parents('div')).html('0元');checked=false;});})</script><title>成都小吃</title></head><body><center><h1>成都小吃</h1></center><br/><br/><form name="menu" method="post"><div><label class="parent">面类</label><input type="text" name="num" value="0"/><span>0元</span><div class="child"><label><input type="radio" name="nudel" id="nudel" value="6" checked="checked" />炸酱面</label><label><input type="radio" name="nudel" id="nudel" value="7" />炒面</label><label><input type="radio" name="nudel" id="nudel" value="5" />牛肉面</label></div></div><div><label class="parent">盖饭类</label><input type="text" name="num" value="0"/><span>0元</span><div class="child"><label><input type="radio" name="rice" value="9" checked="checked"/>宫保鸡丁</label><label><input type="radio" name="rice" value="9"/>鱼香肉丝</label><label><input type="radio" name="rice" value="8"/>尖椒土豆丝</label></div></div></form></body></html> 问题补充:蔡华江 写道
解决方案
$("div.child").closest("div")如果你无法判断怎么选择的话,加个id就行了,你应该知道就是优先的方式,因为id是查询最快的方式,而通过.class选择是最慢的方式
解决方案二:
$("div.child").closest("div")如果你无法判断怎么选择的话,加个id就行了,你应该知道就是优先的方式,因为id是查询最快的方式,而通过.class选择是最慢的方式
解决方案三:
这个,我不知道你的需求。教你一个好办法,每当你使用jquery选择器选择中一个目标时。使用firebug查看是否选中,选中的是否正确。
解决方案四:
这个你看下API就知道了。有专门的选择器:first可以选中第一个,也可以通过$().eq(1)选中第一个。jquery功能强大,而且选择同一元素可以使用若干种选择方式。。对于radio的选中,虽然不直接支持,但是也有两个方式。$(radio).attr("selected",true);或$(radio).click(function(){});两个原理不同,上面是直接选中,下面是通过触发点击事件选中。。
解决方案五:
$('div.child :radio:checked',$(this).parents('div')).val()jquery你也用的太乱了吧。。。。http://www.jb51.net/article/22097.htm建议你看看,与问题无关