获取已选中单选按钮的值,而无需重新选择按钮
所以我得到一些按钮如下:
var reportFilterButtons = $('input[name=reportfilter]', '#reportChartForm');
稍后,这很容易让我附加一个更改处理程序,如下所示:
reportFilterButtons.change(handlers.reportFilterButtonsChange);
在这个处理程序里面我需要获取当前选中按钮的值,所以我这样做:
var checkedReportFilterButton = $('input[name=reportfilter]:checked', '#reportChartForm'); .... if (checkedReportFilterButton.val() ....
但是, reportFilterButtons
和checkedReportFilterButton
选择器似乎是多余的。 有没有办法通过使用reportFilterButtons
而不进行第二次选择来获取checked / value?
您可以使用$.filter
查找已选中的:
reportFilterButtons.filter(':checked').val()
一个jQuery事件侦听器处理程序, this
属性指向作为事件目标的元素。 这意味着您不必再次找到它。 只需包装一个jQuery对象$(this),你就可以了(小提琴演示 )。
码:
var reportFilterButtons = $('input[name=reportfilter]', '#reportChartForm'); reportFilterButtons.change(reportFilterButtonsChange); function reportFilterButtonsChange() { var value = $(this).val(); // this is the reference to the element console.log(value); }