首页 > 解决方案 > 在 Jquery 中单击另一个单选按钮时取消选中单选按钮

问题描述

我有两对单选按钮。当您单击第一对中的第一对时,它会显示默认隐藏的第二对。那里没问题。现在,一旦我单击第一个单选按钮,现在需要第二组。如果我单击以隐藏第二组并再次单击以显示第二组,我无法让支票消失。

$("input[name='FirstSetName']").on("change", function() {
  //answer is yes
  if ($(this).val() === "true") {
    $("#ShowSecondSet").show();
    $("#SecondsetName").prop("checked", false);
    $("#SecondsetName").rules("add", "required");
  }
  //answer is No
  else if ($(this).val() === "false") {
    alert("else");
    $("#SecondsetName").prop("checked", false);
    $("#SecondsetName").rules("remove", "required");
    $("#HideSecondSet").hide();
  }
});

我尝试使用 attr 和 prop 没有任何效果。

有什么想法吗?

标签: jquery

解决方案


你应该使用$("input[name='SecondSetName']").prop("checked", false);.

也使用$("input[name='SecondSetName']").show();and$("input[name='SecondSetName']").hide();代替$("#ShowSecondSet").show();& $("#HideSecondSet").hide();

取消注释$("#SecondsetName").rules("add", "required");我评论它,因为我没有申请和使用rules

您还没有共享您的 html,所以我根据 javascript 代码添加了它。

在下面试试。

$("input[name='FirstSetName']").on("change", function() {
  //answer is yes
  if ($(this).val() === "true") {
    $("input[name='SecondSetName']").show();
    $("input[name='SecondSetName']").prop("checked", false);
    // $("#SecondsetName").rules("add", "required");
  }
  //answer is No
  else if ($(this).val() === "false") {
    $("input[name='SecondSetName']").prop("checked", false);
    // $("#SecondsetName").rules("remove", "required");
    $("input[name='SecondSetName']").hide();
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
true<input type='radio' name='FirstSetName' value='true' />
false<input type='radio' name='FirstSetName' value='false' />
<div>
  second 1<input type='radio' name='SecondSetName' value='2.1' style='display:none;' />
  second 2<input type='radio' name='SecondSetName' value='2.2' style='display:none;' />
</div>


推荐阅读