我正在进行一组文本字段,我正在进行验证 假设我有一个可以接受的称为“座位”的字段 值小于“99999”。意思是我不能进入 “99999”任何小于此的东西都可以。为此我在下面写了if if else if。 请告诉我,我做错了什么。从早上起我很困惑 是否小于或大于
if ($("#seats").val() != '') {
setflag = false;
alert("Not a valid character")
}
else if($("#seats").val() < 99999) {
alert("Not a valid Number");
} else {
setflag = true;
}
答案 0 :(得分:14)
我早上很困惑,是否应该小于或大于`
这可以接受小于“99999”
的值
我认为你自己回答了......但是当小于时,有效。因此以下是不正确的:
}elseif($("#seats").val() < 99999){
alert("Not a valid Number");
}else{
你说如果它 <99999,那么无效。你想做相反的事情:
}elseif($("#seats").val() >= 99999){
alert("Not a valid Number");
}else{
此外,由于你有$("#seats")
两次,jQuery必须搜索两次DOM。您应该将值或至少DOM元素存储在变量中。而且你的一些代码没有多大意义,所以我将做出一些假设并将它们放在一起:
var seats = $("#seats").val();
var error = null;
if (seats == "") {
error = "Number is required";
} else {
var seatsNum = parseInt(seats);
if (isNaN(seatsNum)) {
error = "Not a valid number";
} else if (seatsNum >= 99999) {
error = "Number must be less than 99999";
}
}
if (error != null) {
alert(error);
} else {
alert("Valid number");
}
// If you really need setflag:
var setflag = error != null;
以下是一个工作示例:http://jsfiddle.net/LUY8q/
答案 1 :(得分:1)
除现有答案外,还有其他一些内容。看看这个:
var seatsValid = true;
// cache the selector
var seatsVal = $("#seats").val();
if(seatsVal!=''){
seatsValid = false;
alert("Not a valid character")
// convert seatsVal to an integer for comparison
}else if(parseInt(seatsVal) < 99999){
seatsValid = false;
alert("Not a valid Number");
}
变量名setFlag非常通用,如果你只使用它与你应该重命名的席位数(我称之为seatValid)。我还将其初始化为true,从而消除了原始代码中最终else的需要。接下来,我将选择器调用到变量中的.val()。缓存选择器是一种很好的做法,因此jquery不需要遍历DOM而不需要遍历DOM。最后,在比较两个值时,您应该尝试确保它们是相同的类型,在这种情况下,seatVal是一个字符串,因此为了正确地将它与99999进行比较,您应该在其上使用parseInt()。
答案 2 :(得分:0)
将小于运算符更改为大于或等于运算符:
}elseif($("#seats").val() >= 99999){
答案 3 :(得分:0)
见this answer。 val()比较字符串,而不是数值。
答案 4 :(得分:0)
If statement for images in jquery:
#html
<button id="chain">Chain</button>
<img src="bulb_on.jpg" alt="img" id="img"/>
#script
<script>
$(document).ready(function(){
$("#chain").click(function(){
if($("#img").attr('src')!='bulb_on.jpg'){
$("#img").attr('src', 'bulb_on.jpg');
}
else
{
$("#img").attr('src', 'bulb_onn.jpg');
}
});
});
</script>
答案 5 :(得分:0)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<form name="myform">
Enter your name
<input type="text" name="inputbox" id='textBox' value="" />
<input type="button" name="button" class="member" value="Click1" />
<input type="button" name="button" value="Click2" onClick="testResults()" />
</form>
<script>
function testResults(n) {
var answer = $("#textBox").val();
if (answer == 2) {
alert("Good !");
} else if (answer == 3) {
alert("very Good !");
} else if (answer == 4) {
alert("better !");
} else if (answer == 5) {
alert("best !");
} else {
alert('wrong');
}
}
$(document).on('click', '.member', function () {
var answer = $("#textBox").val();
if (answer == 2) {
alert("Good !");
} else if (answer == 3) {
alert("very Good !");
} else if (answer == 4) {
alert("better !");
} else if (answer == 5) {
alert("best !");
} else {
alert('wrong');
}
});
</script>