复选框验证不起作用
Posted
技术标签:
【中文标题】复选框验证不起作用【英文标题】:Checkbox validtion not working 【发布时间】:2014-08-14 11:40:38 【问题描述】:嗨,我有复选框和提交按钮。对于验证,我需要在单击提交按钮时检查至少 1 个复选框。我在 jquery 中尝试了几种方法,但现在可以工作了。谢谢。 这是我的代码:
dashboard.php
<table id="fahrzeuge" >
<tr>
<td>
<input type="checkbox" name="Anzahl_Fahrzeuge_ohne_Bilder" id="Anzahl_Fahrzeuge_ohne_Bilder" checked />
<label for="Anzahl_Fahrzeuge_ohne_Bilder">Anzahl Fahrzeuge ohne Bilder</label><br>
<input type="checkbox" name="Fahrzeuge_ohne_Preis" id="Fahrzeuge_ohne_Preis" value="Fahrzeuge_ohne_Preis" checked />
<label for="Fahrzeuge_ohne_Preis">Fahrzeuge_ohne_Preis</label><br>
<input type="checkbox" name="Fahrzeuge_mit_Fehlern" id="Fahrzeuge_mit_Fehlern" value="Fahrzeuge_mit_Fehlern" checked />
<label for="Fahrzeuge mit Fehlern">Fahrzeuge mit Fehlern</label><br>
<input type="checkbox" name="Herausforderungen" id="Herausforderungen" value="Herausforderungen" checked />
<label for="Herausforderungen">Herausforderungen</label><br><br>
</td>
</tr>
</table>
dashboard.js
function getFahrzeuge()
var opts = [];
$("#fahrzeuge input[type='checkbox']").each(function ()
if ($(this).is(':checked'))
opts.push($(this).attr("id"));
);
return opts;
$('#fahrzeuge .butt-rahmen').on('click', function()
if($(this).attr('id') == 'saveId')
var opts = getFahrzeuge();
saveFahrzeugeWidget(opts);
);
【问题讨论】:
您使用的是哪个 jQuery 版本?live
自 1.9 以来已被长期弃用和删除
定义“不工作”。您是否在控制台中收到错误消息?
我正在使用旧查询版本,我没有收到任何错误,只是我想验证它...
我现在把它改成了onclick功能...
我在您的 html 中看不到任何 .butt-rahmen
。他们是后来添加的吗?如果是这样,请使用on
的事件委托语法。
【参考方案1】:
您可以简单地使用:checked
选择器进行检查:
if($("#fahrzeuge input:checked").length)
//atleast one checked
【讨论】:
Asker 的方法应该不会引起任何问题,不是吗? @JanDvorak:没有代码可以检查他要求的验证。以上是关于复选框验证不起作用的主要内容,如果未能解决你的问题,请参考以下文章