好的,我有一个动态添加到我的HTML表单的按钮。当我单击此按钮时,下面的JQuery运行。有一个函数调用checkLimit(),它基本上返回一个数字,所以我知道要显示哪个文本框。该函数第一次运行很好,但第二次只进入checkLimit()调用并退出。它甚至没有调用该函数(我通过弹出警报来测试它,你会看到这些已在下面注释掉):
JQUERY:$(文件).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;
}
}
答案 0 :(得分:1)
if子句中有两个错误,例如:
if (checkLimit = 1){
将其替换为:
if(checkLimit()===1){
否则保持函数的变量checkLimit不会被调用,而是被值1覆盖。另外,如果要比较值,请使用comparance运算符(&#34; ===&#34;或&#34 ; ==&#34;)而不是赋值运算符(&#34; =&#34;)。请注意比较运算符的差异。
答案 1 :(得分:0)
您没有将checkLimit();
的返回值分配给变量。
尝试:var checkLimit = checkLimit();
此外,如果您没有传递任何参数并使用全局变量,该函数的重点是什么?