我正在尝试显示alert
如果某个组中的某个单选按钮被选中,然后再次检查以前检查过的单选按钮。
我在想两个解决方案:
添加disabled
属性,但click
个事件未被触发,因此我无法弹出alert
。
如果我没有添加disabled
属性,那么单击事件中已检查的单选按钮已经更改,因此我无法获取我想要检查的原始选中的单选按钮试。
基本上,我目前拥有的是:http://jsfiddle.net/Jygmn/2/
<input name="r" type="radio" id="r1"> r1<br>
<input name="r" type="radio" id="r2"> r2<br>
<input name="r" type="radio" id="r3"> r3<br>
<input name="r" type="radio" id="r4" disabled> r4<br>
JavaScript的:
$('#r3, #r4').click(function() {
window.alert($('input[name=r]:checked').attr('id'));
// 1) doesn't alert for #r4 because it's disabled.
// 2) always alerts r3 when #r3 is clicked but I'd like to
// obtain the formerly checked radio button id.
});
如何在click
#r3
事件中获取以前检查过的单选按钮(或者有类似beforeclick
事件的内容)?或者我如何才能使click
个事件适用于disabled
单选按钮?
答案 0 :(得分:2)
这有效地阻止点击进入不需要的单选按钮:
$('#r3, #r4').mousedown(function(e) {
e.stopPropagation();
alert($(this).attr('id'));
});
答案 1 :(得分:1)
我只需添加一个包含先前按下的radiobuttons的列表。因此,当您到达显示警报的那个时,只需显示警报 - &gt;从列表/变量的最后一个弹出,然后将其设置为选中。
从头到尾:
var lastClick;
$("input[@name='r']".changed(function () {
if("input[@id='r3']][checked=true]"){
window.alert("r3 was pressed");
$("#r3").checked = false;
$(lastClick).checked = true;
}else{
lastClick ="#" + GetTheOneSelected;
}
});
不要记住所有的语法,但我希望你能得到这张照片。