我试图找到解决点击和更改之间问题的方法。 我需要捕获点击事件而不是更改。 我将解释一下情况:
我有一个包含3个项目的单选按钮列表。 每次点击我需要清理div。但是,如果我回发并返回客户端并显示错误(提交,服务器验证检查失败),则会再次触发更改事件(显然),并清除div。
有没有办法区分点击和检查状态?
我希望我已经说清楚了。 编辑: 添加了一些代码:
$("input[name*='SelectedOwner']").on('change',
function () {
var radioId = $(this).val();
if (radioId === "2" || radioId === "3") {
$("#div1").hide();
$("#divclean :input").removeAttr("disabled");
} else {
$("#div1").show();
$("#divclean :input").attr("disabled", true);
}
});
$("input[name*='SelectedOwner']").on('click', function () {
//Clean the output at each change
$("#divclean :input").val("");
});
感谢。
答案 0 :(得分:1)
$('input[name="choose"]').click(function(e) {
if ($(this).data('clicked')) {
$('#theDiv').text('You have REclicked "'+ $(this).val() + '" value');
}
else {
$('input[name="choose"]').data('clicked', false);
$(this).data('clicked', true);
$('#theDiv').text('First time you click "'+ $(this).val() + '" value');
}
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="theDiv"></div>
A
<input type="radio" name="choose" value="a" />
B
<input type="radio" name="choose" value="b" />
C
<input type="radio" name="choose" value="c" />
&#13;
答案 1 :(得分:0)
您应该将change事件绑定到每个单选按钮:
$("#r1, #r2, #r3").change(function () { }
使用jQuery也是可能的:
if ($("#r1").is(":checked")) {}
更多信息: JQuery $(#radioButton).change(...) not firing during de-selection
我希望这会有所帮助......
祝你好运!