我有两个单选按钮,想发布所选单选按钮的值。如何使用 jQuery 获得价值?
我可以像这样得到所有这些:
$("form :radio")
我怎么知道选择了哪一个?
要获取 ID 为 myForm
的表单的 selected radioName
项的值:
$('input[name=radioName]:checked', '#myForm').val()
这是一个例子:
$('#myForm input').on('change', function() { alert($('input[name=radioName]:checked', '#myForm').val()); });
用这个..
$("#myform input[type='radio']:checked").val();
如果您已经引用了单选按钮组,例如:
var myRadio = $("input[name=myRadio]");
使用 filter()
函数,而不是 find()
。 (find()
用于定位子/后代元素,而 filter()
在您的选择中搜索顶级元素。)
var checkedValue = myRadio.filter(":checked").val();
注意:此答案最初是为了纠正另一个建议使用 find()
的答案,该答案似乎已被更改。 find()
在您已经引用了容器元素但没有引用单选按钮的情况下仍然有用,例如:
var form = $("#mainForm");
...
var checkedValue = form.find("input[name=myRadio]:checked").val();
这应该有效:
$("input[name='radioName']:checked").val()
注意输入周围使用的“”:检查而不是像彼得J的解决方案那样的“”
您可以将 :checked 选择器与单选选择器一起使用。
$("form:radio:checked").val();
如果您只想要布尔值,即是否已检查,请尝试以下操作:
$("#Myradio").is(":checked")
获取所有收音机:
var radios = jQuery("input[type='radio']");
过滤以获取选中的那个
radios.filter(":checked")
另一种选择是:
$('input[name=radioName]:checked').val()
$("input:radio:checked").val();
就我而言,我在一种形式中有两个单选按钮,我想知道每个按钮的状态。这对我有用:
// 获取单选按钮值 console.log( "radio1: " + $('input[id=radio1]:checked', '#toggle-form').val() ); console.log("radio2:" + $('input[id=radio2]:checked', '#toggle-form').val());
以下是我将如何编写表单并处理检查收音机的获取。
使用名为 myForm 的表单:
<form id='myForm'>
<input type='radio' name='radio1' class='radio1' value='val1' />
<input type='radio' name='radio1' class='radio1' value='val2' />
...
</form>
从表单中获取值:
$('#myForm .radio1:checked').val();
如果您不发布表格,我会使用以下方法进一步简化它:
<input type='radio' class='radio1' value='val1' />
<input type='radio' class='radio1' value='val2' />
然后获取检查值变为:
$('.radio1:checked').val();
在输入上有一个类名可以让我轻松地为输入设置样式......
在 JSF 生成的单选按钮(使用 <h:selectOneRadio>
标记)中,您可以这样做:
radiobuttonvalue = jQuery("input[name='form_id\:radiobutton_id']:checked").val();
其中 selectOneRadio ID 是 radiobutton_id,表单 ID 是 form_id。
一定要使用名称而不是 id,如所示,因为 jQuery 使用此属性(名称由 JSF 自动生成,类似于控件 ID)。
另外,检查用户是否没有选择任何内容。
var radioanswer = 'none';
if ($('input[name=myRadio]:checked').val() != null) {
radioanswer = $('input[name=myRadio]:checked').val();
}
如果您有多个单一形式的单选按钮,那么
var myRadio1 = $('input[name=radioButtonName1]');
var value1 = myRadio1.filter(':checked').val();
var myRadio2 = $('input[name=radioButtonName2]');
var value2 = myRadio2.filter(':checked').val();
这对我有用。
我编写了一个用于设置和获取单选按钮值的 jQuery 插件。它还尊重他们身上的“改变”事件。
(function ($) {
function changeRadioButton(element, value) {
var name = $(element).attr("name");
$("[type=radio][name=" + name + "]:checked").removeAttr("checked");
$("[type=radio][name=" + name + "][value=" + value + "]").attr("checked", "checked");
$("[type=radio][name=" + name + "]:checked").change();
}
function getRadioButton(element) {
var name = $(element).attr("name");
return $("[type=radio][name=" + name + "]:checked").attr("value");
}
var originalVal = $.fn.val;
$.fn.val = function(value) {
//is it a radio button? treat it differently.
if($(this).is("[type=radio]")) {
if (typeof value != 'undefined') {
//setter
changeRadioButton(this, value);
return $(this);
} else {
//getter
return getRadioButton(this);
}
} else {
//it wasn't a radio button - let's call the default val function.
if (typeof value != 'undefined') {
return originalVal.call(this, value);
} else {
return originalVal.call(this);
}
}
};
})(jQuery);
将代码放在任何地方以启用插件。那就尽情享受吧!它只是覆盖默认的 val 函数而不破坏任何东西。
你可以访问这个 jsFiddle 来尝试它,看看它是如何工作的。
$(".Stat").click(function () {
var rdbVal1 = $("input[name$=S]:checked").val();
}
这工作正常
$('input[type="radio"][class="className"]:checked').val()
:checked
选择器适用于 checkboxes
、radio buttons
和选择元素。仅对于选择元素,请使用 :selected
选择器。
试试这个。它对我有用
$('input[type="radio"][name="name"]:checked').val();
要获取使用类的选定无线电的值:
$('.class:checked').val()
我使用这个简单的脚本
$('input[name="myRadio"]').on('change', function() {
var radioValue = $('input[name="myRadio"]:checked').val();
alert(radioValue);
});
用这个:
value = $('input[name=button-name]:checked').val();
演示:https://jsfiddle.net/ipsjolly/xygr065w/
$(function(){ $("#submit").click(function(){ alert($('input:radio:checked').val()); }); });
促销活动 | 1 | 2< /td> | 3 | 4 | 5 |
如果您在 1 个表单上只有一组单选按钮,则 jQuery 代码就像这样简单:
$( "input:checked" ).val()
我已经发布了一个库来帮助解决这个问题。实际上,拉出所有可能的输入值,但还包括选中了哪个单选按钮。您可以在 https://github.com/mazondo/formalizedata 上查看
它会给你一个答案的 js 对象,所以形式如下:
<form>
<input type="radio" name"favorite-color" value="blue" checked> Blue
<input type="radio" name="favorite-color" value="red"> Red
</form>
会给你:
$("form").formalizeData()
{
"favorite-color" : "blue"
}
JQuery 获取表单中的所有单选按钮和选中的值。
$.each($("input[type='radio']").filter(":checked"), function () {
console.log("Name:" + this.name);
console.log("Value:" + $(this).val());
});
要检索 JavaScript 数组中的所有单选按钮值,请使用以下 jQuery 代码:
var values = jQuery('input:checkbox:checked.group1').map(function () {
return this.value;
}).get();
试试看-
var radioVal = $("#myform").find("input[type='radio']:checked").val();
console.log(radioVal);
另一种获取方式:
$("#myForm input[type=radio]").on("change",function(){ if(this.checked) { alert(this.value); } });
$(function () {
// Someone has clicked one of the radio buttons
var myform= 'form.myform';
$(myform).click(function () {
var radValue= "";
$(this).find('input[type=radio]:checked').each(function () {
radValue= $(this).val();
});
})
});
尝试
myForm.myOption.value
功能检查() { console.log( myForm.myOption.value ); }