JQuery从单选按钮更改值

Nac*_*nto 11 javascript jquery radio-button

我有一个名为category必须根据所选单选按钮更改其值的变量.问题是我没有点击单选按钮或其他按钮,价值会立即改变.

这是我的代码:

<form>
<input type="radio" name="category" value="doctor" /> Doctor
<input type="radio" name="category" value="police" checked /> Policia
</form>

var category = $('[name="category"]:checked').val();
Run Code Online (Sandbox Code Playgroud)

category单击单选按钮时,我需要您自动更改变量的值.

Ble*_*der 40

将事件处理程序附加到change事件:

$(':radio[name="category"]').change(function() {
  var category = $(this).filter(':checked').val();
});
Run Code Online (Sandbox Code Playgroud)

  • 你想使用像这个答案所说的`change`事件,而不是其他人建议的`click`.即使用户使用键盘导航并选择单选按钮,使用`change`也可以确保更新您的值. (4认同)
  • @albanx:"click"只会在单击按钮时触发(即使它被禁用).更改值时更改`更改`(无论方法,无论是键盘还是鼠标),如果禁用它都不会发生. (2认同)

Jos*_*ega 15

每次用户更改所选单选按钮时,您都需要更改类别的值.因此,当用户点击收音机时,您需要触发一个事件.你可以查看FIDDLE

var category = null;
$("input[name='category']").click(function() {
    category = this.value;
});
Run Code Online (Sandbox Code Playgroud)