好的,所以我有一个按钮是动态添加到我的HTML表单。当我单击此按钮时,下面的JQuery将运行。有一个函数调用checkLimit(),它基本上返回一个数字,所以我知道要显示哪个文本框。该函数第一次运行得很好,但第二次它只调用了checkLimit()并退出。它甚至不调用函数(我通过弹出警告来测试,你会看到这些被注释掉了):
JQUERY: $(document).ready(function()
for (var i = 0; i < 25; i++){
$("#Add_").on("click", "#plus_"+i, function(){
checkLimit();
if (checkLimit = 1){
var txtbox = "<div id='Div_2_Int"+i+"'> <label> <br> </label> "
+ "<input type='text' id='Txtbox_2_Int_"+i+"' name=Txtbox_2_Int_"+i+ "'value=''>";
$('.addSys').append(txtbox);
}
else if(checkLimit = 2){
var txtbox = "<div id='Div_3_Int"+i+"'> <label> <br> </label> "
+ "<input type='text' id='Txtbox_3_Int_"+i+"' name=Txtbox_3_Int_"+i+ "'value=''>";
$('.addSys').append(txtbox);
}
});
}
Javascript函数:
var num4 = 2;
function checkLimit() {
//alert("test2");
if(num4 >= 4){
alert("Only 3!");
}else if(num4 == 3){
num4++;
return 2;
}else if(num4 == 2){
num4++;
return 1;
}
}
if子句中的两个错误,例如:
if (checkLimit = 1){
将其替换为:
if(checkLimit()===1){
否则,保存函数的变量checkLimit不会被调用,而是用值1覆盖。另外,如果要比较值,请使用比较运算符("==="或"=="),而不是赋值运算符("=")。还要注意比较操作符之间的差异。
您没有将checkLimit();
的返回值赋给变量。
Try: var checkLimit = checkLimit();
另外,如果你不传递任何参数并使用全局变量,该函数的意义是什么?