我有一个带有javascript函数的页面,可以更改选择的单选按钮,如下所示:
if ($('#tables').hasClass('radiobuttons')){
var tables = $('#tables').find('table'),
rows = tables.find('tr'),
radios = $('input[type="radio"]');
rows.live('click', function(){
var clicked = $(this);
clicked.find('input[type=radio]').attr('checked', true);
clicked.parent().find('tr').removeClass('selected');
clicked.addClass('selected');
});
}
基本上,这允许用户单击表格中某一行的任何位置,并且将选择相应的单选按钮。
单选按钮都附加了一个onchange
事件 - 除非该功能在以这种方式选择单选按钮时调用不。
<input type="radio" onchange="someFunction();" name="myradiobutton" value="123">
除了onchange事件之外,我怎么能检测到值发生了变化?
答案 0 :(得分:1)
不是在单选按钮上设置属性,而是尝试触发单击事件。
clicked.find('input[type=radio]').trigger("click");
或者,您可以尝试将Click事件处理程序绑定到用户单击的行,而不是(或除了)实际的单选按钮。
答案 1 :(得分:0)
您可以查找引发事件的目标元素并相应地做出决定。您可以使用事件对象获取目标元素,事件对象是事件处理程序中的第一个参数。
rows.live('click', function(e){
if($(e.target).is(':radio'){
//radio button clicked
}
});