Javascript JQuery 从单选按钮更改值
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/9010805/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
JQuery change value from radio button
提问by Nacho Sarmiento
I have a variable called category
that must change its value according to the selected radio button. The problem is that I do not get that at the click of a radio button or another, the value will change instantly.
我有一个变量category
,它必须根据选定的单选按钮更改其值。问题是我没有在单击单选按钮或其他按钮时得到它,该值会立即改变。
This is the code I have:
这是我的代码:
<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();
I need you to automatically change the value of the variable category
when you click the radio buttons.
我需要您category
在单击单选按钮时自动更改变量的值。
回答by Blender
Attach an event handler to the change
event:
将事件处理程序附加到change
事件:
$(':radio[name="category"]').change(function() {
var category = $(this).filter(':checked').val();
});
回答by Jose Vega
You need to change the value of category every time a user changes the selected radio button. Therefore you will need an event to trigger when the user clicks on a radio. You can check out the FIDDLE
每次用户更改选定的单选按钮时,您都需要更改 category 的值。因此,当用户单击收音机时,您将需要一个事件来触发。您可以查看FIDDLE
var category = null;
$("input[name='category']").click(function() {
category = this.value;
});
回答by albanx
I think you need simply something like this:
我认为你只需要这样的东西:
var category;
$('radio[name="category"]').click(function(){
category=this.value;
});
回答by nima shayanfar
var category;
$(':radio[name="category"]').change(function() {
category=this.value;
});
And this is a jsfiddle.netdemo.
这是一个jsfiddle.net演示。
回答by ala'a alqadi
You shouldn't give the same ID for more than one element, you should use class instead like this :
你不应该为多个元素提供相同的 ID,你应该像这样使用 class:
<form>
Option 1<input type="radio" name="opt" class="radio" value="Option 1">
Option 2<input type="radio" name="opt" class="radio" value="Option 2">
</form>
instead of :
代替 :
<form>
Option 1<input type="radio" name="opt" id="radio" value="Option 1">
Option 2<input type="radio" name="opt" id="radio" value="Option 2">
</form>
and your code still the same and it should work fine :)
并且您的代码仍然相同,它应该可以正常工作:)
回答by ShankarSangoli
Instead of using category
variable use $('[name="category"]:checked').val()
wherever you want the value of the checked radio button. Otherwise you can make use of change
or click
event to set the checked
radio buttons value into category
variable.
不要在任何需要选中单选按钮的值的地方使用category
变量$('[name="category"]:checked').val()
。否则,您可以使用change
或click
事件将checked
单选按钮值设置为category
变量。