我有这个代码检查所有select和input元素是否已填满。我收到错误。我错了(':输入,:选择')?感谢
<script type="text/javascript">
function checkFields()
{
if (!$('#lastname,#firstname,#island2,#region2,#province2,#city2,#barangay2,#address,#gender,#birthdate').filter(function () {
return $.trim(this.value) != ""
}).length) {
alert("Need input");
e.preventDefault();
}
else
$('#confirm-submit').modal('show');
}
</script>
答案 0 :(得分:1)
它应该只是:input
- 它涵盖了所有input
,textarea
和select
元素。
$(':input')
没有名为:select
的选择器,而您可能必须使用元素选择器,:input
是一个特殊的选择器,它将覆盖所有input
元素,例如input
,textarea
和select
答案 1 :(得分:0)
您正在以错误的方式使用jQuery选择器
if (!$(':input,:select').filter(function () {
应该使用标签名称选择器,如下所示:
if (!$('input,select').filter(function () {
要选择所有输入类型(输入,文本区域,选择框等),请使用:
if (!$(':input').filter(function () {
有关jQuery Selectors和jQuery Input Selectors。
的详细信息工作JSFiddle就在这里。 (如果条件被修改并将其与零比较)
答案 2 :(得分:0)
按元素选择
$('input,select')
我建议添加一个必需的属性并选择它(如果你有其他不需要的输入)
<input type="text" required />
$('input[required],select[required]')
获取值
.val()
用正则表达式替换所有空格(假设您不希望潜在的输入只是空格)
.replace(/ /gi, '')
测试是否没有字符
.length === 0