关于jquery 获取radio属性值的问题?

大家帮忙看下下面代码,为什么我不能正确获取radio的属性值,每次都是1
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


.child { display:none; } input { width:20px; } $(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; }); })

成都小吃


成都小吃



面类0元
炸酱面 炒面 牛肉面
盖饭类0元
宫保鸡丁 鱼香肉丝 尖椒土豆丝


$("div.child").closest("div")

如果你无法判断怎么选择的话,加个id就行了,你应该知道就是优先的方式,因为id是查询最快的方式,而通过.class选择是最慢的方式

[code="js"]$('div.child :radio:checked',$(this).parents('div')).val()[/code]

jquery你也用的太乱了吧。。。。

[url]http://www.jb51.net/article/22097.htm[/url]
建议你看看,与问题无关

这个你看下API就知道了。

有专门的选择器:first可以选中第一个,也可以通过$().eq(1)选中第一个。
jquery功能强大,而且选择同一元素可以使用若干种选择方式。。

对于radio的选中,虽然不直接支持,但是也有两个方式。
$(radio).attr("selected",true);
或$(radio).click(function(){});

两个原理不同,上面是直接选中,下面是通过触发点击事件选中。。

这个,我不知道你的需求。

教你一个好办法,每当你使用jquery选择器选择中一个目标时。使用firebug查看是否选中,选中的是否正确。

$("div.child").closest("div")

如果你无法判断怎么选择的话,加个id就行了,你应该知道就是优先的方式,因为id是查询最快的方式,而通过.class选择是最慢的方式