jQuery - 点击单选按钮而不是更改

时间:2017-02-09 13:41:29

标签: javascript jquery html

我试图找到解决点击和更改之间问题的方法。 我需要捕获点击事件而不是更改。 我将解释一下情况:

我有一个包含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("");
});

感谢。

2 个答案:

答案 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;
&#13;
&#13;

答案 1 :(得分:0)

您应该将change事件绑定到每个单选按钮:

$("#r1, #r2, #r3").change(function () { }

使用jQuery也是可能的:

if ($("#r1").is(":checked")) {}

更多信息: JQuery $(#radioButton).change(...) not firing during de-selection

我希望这会有所帮助......

祝你好运!