使用JQuery来检查组中是否没有单选按钮被检查
我坐在一个问题,我需要检查与JQuery如果单选按钮组内没有单选按钮已被检查,以便我可以给如果用户忘记检查选项,则会出现javascript错误。使用JQuery来检查组中是否没有单选按钮被检查
我用下面的代码来获取值
var radio_button_val = $("input[name='html_elements']:checked").val();
if (!$("input[name='html_elements']:checked").val()) {
alert('Nothing is checked!');
}
else {
alert('One of the radio buttons is checked!');
}
如果选中的单选按钮的值为“” – ScottE 2010-01-15 14:41:53
@ScottE - 优秀点 - 如果罗兰不接受它,我将删除该答案。 – 2010-01-15 14:48:29
我想你可以把它改成'.val()==“”'并移除'!',你就会全部设置好。 – 2010-01-15 21:08:21
你可以做这样的事情:
var radio_buttons = $("input[name='html_elements']");
if(radio_buttons.filter(':checked').length == 0){
// None checked
} else {
// If you need to use the result you can do so without
// another (costly) jQuery selector call:
var val = radio_buttons.val();
}
难道你不能缩小前两行只是'if($(“input [name ='html_elements']:checked”)。length == 0){'? – Powerlord 2010-01-15 14:53:13
你可以,但如果你显示一个值存在,那么你需要另一个完整的jQuery选择来获得值。 – 2010-01-15 21:06:04
我使用
$("input:radio[name='html_radio']").is(":checked")
如果radiogroup中的所有项都是,则返回FALSE未选中并且在检查项目时为TRUE。
if ($("input[name='html_elements']:checked").size()==0) {
alert('Nothing is checked!');
}
else {
alert('One of the radio buttons is checked!');
}
使用.length
指http://api.jquery.com/checked-selector/
if ($('input[name="html_elements"]:checked').length === 0) alert("Not checked");
else alert("Checked");
var len = $('#your_form_id input:radio:checked').length;
if (!len) {
alert("None checked");
};
alert("checked: "+ len);
我觉得这是一个简单的例子,如何检查一组电台的无线电进行了调查。
if($('input[name=html_elements]:checked').length){
//a radio button was checked
}else{
//there was no radio button checked
}
我用这简单得多
HTML
<label class="radio"><input id="job1" type="radio" name="job" value="1" checked>New Job</label>
<label class="radio"><input id="job2" type="radio" name="job" value="2">Updating Job</label>
<button type="button" class="btn btn-primary" onclick="save();">Save</button>
SCRIPT
$('#save').on('click', function(e) {
if (job1.checked)
{
alert("New Job");
}
if (job2.checked)
{
alert("Updating Job");
}
}
看起来像道格的答案是比我更有用,所以你可能更好地使用他的(见Sc ottE评论我的答案)。如果道格的答案适合你,你能接受他吗? – 2010-01-15 14:46:50
@DominicRodger先生,这对你很有礼貌。 – 2014-01-24 08:33:57