为什么我每次单击按钮时都没有检查收音机

Why are the radios not being checked every time I click the buttons

每个按钮只会检查收音机 1 次,我希望每次单击按钮时都检查它们

$(document).ready(function() {
  $("button").click(function() {
    var radio = $(this).parent().attr("for");
    $("#" + radio).attr("checked", "checked");
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<input type="radio" name="radio-btn" id="radio1">
<input type="radio" name="radio-btn" id="radio2">
<input type="radio" name="radio-btn" id="radio3">
<input type="radio" name="radio-btn" id="radio4">

<label for="radio1"><button>Games1</button></label>
<label for="radio2"><button>Games2</button></label>
<label for="radio3"><button>Games3</button></label>
<label for="radio4"><button>Games4</button></label>

使用 prop() 设置 checked 状态,而不是将相同的属性放在所有状态上。

$(document).ready(function() {
  $("button").click(function() {
    var radio = $(this).parent().attr("for");
    $("#" + radio).prop("checked", true);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="radio" name="radio-btn" id="radio1">
<input type="radio" name="radio-btn" id="radio2">
<input type="radio" name="radio-btn" id="radio3">
<input type="radio" name="radio-btn" id="radio4">

<label for="radio1"><button>Games1</button></label>
<label for="radio2"><button>Games2</button></label>
<label for="radio3"><button>Games3</button></label>
<label for="radio4"><button>Games4</button></label>