在jQuery中检查DIV输入项值是否为空
我在DIV中堆叠了一些输入文本字段,下拉列表,无线电gruop。 现在,我如何检查此DIV中的所有文本字段,无线电组和下拉列表是否具有某些值?
我在JSFiddle中创建了一个简单的模型
JQ:
$("#continue_btn").click(function(){ if($('#myForm input:text[value=""]').length > 0){ alert("yes"); } else { alert("no") } }
您所要做的就是将标记包装在form
元素中,并将每个input
添加attr required
这是纯css。
演示JSFIDDLE
function highlight(event) { event.preventDefault(); alert('Done!!!'); return false; } var highlightForm = document.querySelector("form#myForm"); highlightForm.addEventListener('submit',highlight , false); /** $("#continue_btn").click(function(){ if($('#myForm input:text[value=""]').length > 0){ alert("yes"); } else { alert("no") } } */
这里的主要困难是单选按钮,您需要单独检查。 尝试这样的事情:
var $form = $('#myForm'); $("#continue_btn").click(function () { var $radio = $form.find(':radio:checked'); var hasEmpty = $.grep($form.serializeArray(), function(el) { return !$.trim(el.value); }).length || $radio.length == 0; if (hasEmpty) { alert("yes"); } else { alert("no") } });
演示: http : //jsfiddle.net/tq3jL2d6/9/
请注意,对于此演示,我稍微改进了HTML:
- 用
form
标签包装所有东西,因为你处理表格 - 为所有表单元素添加了名称属性
- 添加了占位符属性。
您可以使用此代码,这里是链接
http://jqueryvalidation.org/files/demo/
这是代码
view-source:http://jqueryvalidation.org/files/demo/
你可以使用过滤function,它可以过滤这样的forms的每个值
$("#continue_btn").click(function(){ var anyFieldIsEmpty = $("#myForm input,select").filter(function() { return $.trim(this.value).length === 0; }).length > 0; if(anyFieldIsEmpty){ alert("yes"); } else { alert("no") }
});
你可以选择多个表单元素,比如我已完成输入,选择,textarea等。
FIDDLE DEMO