【问题标题】:jQuery - radio button on click and not on changejQuery - 单击而不是更改的单选按钮
【发布时间】:2017-06-27 13:21:17
【问题描述】:

我正在尝试解决点击和更改之间的问题。 我需要捕获 click 事件而不是更改。 我来解释一下情况:

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

谢谢。

【问题讨论】:

  • 请提供minimal reproducible example。根本不明显为什么变更会触发不止一次
  • $("input[type='radio'").click(function(){});
  • 看看这个Fiddle,希望对你有帮助
  • 在 OP 中添加了代码。
  • 我认为你需要使用 localStorage 来存储点击的收音机

标签: javascript jquery html


【解决方案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" />

【讨论】:

    【解决方案2】:

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

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

    使用 jQuery 也是可以的:

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

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


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

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2018-10-15
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      • 2016-02-06
      • 2016-07-15
      • 1970-01-01
      • 2010-12-02
      • 2023-03-05
      相关资源
      最近更新 更多