Javascript 获取选中单选按钮的值,无需重新选择按钮

Javascript 获取选中单选按钮的值,无需重新选择按钮,javascript,jquery,Javascript,Jquery,因此,我得到如下一些按钮: var reportFilterButtons = $('input[name=reportfilter]', '#reportChartForm'); reportFilterButtons.change(handlers.reportFilterButtonsChange); 稍后,我可以轻松地附加一个更改处理程序,如下所示: var reportFilterButtons = $('input[name=reportfilter]', '#reportCha

因此,我得到如下一些按钮:

var reportFilterButtons = $('input[name=reportfilter]', '#reportChartForm');
reportFilterButtons.change(handlers.reportFilterButtonsChange);
稍后,我可以轻松地附加一个更改处理程序,如下所示:

var reportFilterButtons = $('input[name=reportfilter]', '#reportChartForm');
reportFilterButtons.change(handlers.reportFilterButtonsChange);
在这个处理程序中,我需要获取当前选中按钮的值,因此我执行以下操作:

var checkedReportFilterButton = $('input[name=reportfilter]:checked', '#reportChartForm');
....
if (checkedReportFilterButton.val() ....

然而,
reportFilterButtons
checkedReportFilterButton
选择器似乎是多余的。有没有一种方法可以通过使用
reportFilterButtons
而不进行第二次选择来获取选中的/值?

您可以使用
$。filter
来查找选中的一个:

reportFilterButtons.filter(':checked').val()

jQuery事件侦听器处理程序
此属性指向作为事件目标的元素。这意味着你不必再次找到它。只需包装一个jQuery对象$(这个),就可以开始了(fiddle)

代码:


第一台
第二台
第三台
var reportFilterButtons=$('input[name=reportfilter]','#reportChartForm');
reportFilterButtons.change(reportFilterButtonsChange);
函数报告FilterButtonSchange(){
var value=$(this).val();//这是对元素的引用
console.log(值);
}

工作起来很有魅力。在过去的6.5年中,我花了太多的时间做ExtJS,而没有花足够的时间做jQuery;)这也可以很好地工作,但我将另一个答案保留为可接受的答案,因为它在我的内容中工作得更好(我有一个对reportFilterButtons的作用域引用,另一个从两个不同入口点委派的函数可以访问它),这是不期望的:)谢谢大家的支持。