如何在jquery中验证select字段?
我有以下代码:如何在jquery中验证select字段?,jquery,validation,select,Jquery,Validation,Select,我有以下代码: <form action="" id="credentials" method="post"> <label for="name" id="nameLabel" >Name*:</label> <input type="text" name="name" id="name" value="" /> <select id="single"> <option value="0">Single</op
<form action="" id="credentials" method="post">
<label for="name" id="nameLabel" >Name*:</label>
<input type="text" name="name" id="name" value="" />
<select id="single">
<option value="0">Single</option>
<option value="1">Single2</option>
</select>
<input type="submit" value="Submit" name="" data-inline="true"/>
</form>
输入工作正常,但选择不正常。有什么想法吗?这里有一个问题是
stateField
变量保存字段的实际值。它不是对字段本身的引用,也不是字段的jQuery对象,因此不能说stateField.css()
试着这样做:
$("#credentials").submit(function(e) {
var nameField = $("input#name").filter(function() {
return !$.trim(this.value).length;
});
if (nameField.length) {
nameField.css("border", "1px solid red");
alert("Name is missing!");
return false;
}
var stateField = $("#single").val();
if (stateField == 0) {
stateField.css("border", "1px solid red");
alert("State is missing!");
return false;
}
});
var stateField = $("#single");
if (stateField.val() == 0) {
stateField.css("border", "1px solid red");
alert("State is missing!");
return false;
}
演示的更新版本:
还要注意的是,通过从函数返回,一旦发现错误,验证一次只能报告一个错误(因此除非输入名称,否则不会发生
stateField
验证)。问题在于stateField
变量保存字段的实际值。它不是对字段本身的引用,也不是字段的jQuery对象,因此不能说stateField.css()
试着这样做:
$("#credentials").submit(function(e) {
var nameField = $("input#name").filter(function() {
return !$.trim(this.value).length;
});
if (nameField.length) {
nameField.css("border", "1px solid red");
alert("Name is missing!");
return false;
}
var stateField = $("#single").val();
if (stateField == 0) {
stateField.css("border", "1px solid red");
alert("State is missing!");
return false;
}
});
var stateField = $("#single");
if (stateField.val() == 0) {
stateField.css("border", "1px solid red");
alert("State is missing!");
return false;
}
演示的更新版本:
还请注意,通过从函数返回,一旦发现错误,验证一次只会报告一个错误(因此除非输入名称,否则不会发生stateField
验证)。更新的JSFIDLE:
stateField仅保存值,而不是实际元素。您需要将css应用于元素更新的JSFIDLE:
stateField仅保存值,而不是实际元素。您需要将css应用于元素