我有四个<input type"radio">
元素。如何在jQuery上检查它并在用户未检查元素时发出警报?
元素位于<div id"p1">
标记中。
答案 0 :(得分:2)
这是为了检查所有:
$('#p1 input[type=radio]').attr("checked", "checked");
这是为了检查是否所有都未选中:
if ($('#p1 input[type=radio]:checked').length == 0) {
// alert here
}
这是为了检查是否有一个或多个未选中:
if ($('#p1 input[type=radio]:checked').length < 4) {
// alert here
}
答案 1 :(得分:1)
如果我已正确理解您的问题,您需要检查您的单选按钮是否已被选中。
您可以使用“attribute equals”选择器选择单选按钮,然后filter
匹配的设置仅包含未选中的单选按钮:
var uncheckedRadios = $("input[type='radio']").filter(function() {
return !this.checked
});
答案 2 :(得分:1)
$(“input [type ='radio']”)。attr(“checked”,“checked”)将检查所有单选按钮
答案 3 :(得分:1)
$("input[type='radio']:not(:checked)").each(function() {
alert($(this).next().html());
});
另见jsfiddle。
=== UPDATE ===
var sQuestions = '';
$("input[type='radio']:not(:checked)").each(function() {
sQuestions += $(this).next().html() + "\n";
});
alert(sQuestions);
另请参阅我更新的jsfiddle。
=== UPDATE ===
使用.attr('id')
代替.html()
来获取ID而不是文本。另请参阅我更新的jsfiddle。
我在您的表单中找不到div
,在每个input type="radio"
之后添加一个。{/ p>
答案 4 :(得分:1)
您必须选择未经检查过的元素:
var uncheckedRadios = $("input[type='radio']").filter(function() {
Foo();
});
对于您发现的每一个,您可以在元素旁边显示隐藏的标签。这个标签上写着“警告,未检查”。或者在页面底部,您可以在红色区域中显示未选中的单选按钮列表。
在Foo()函数中执行此操作..