Javascript 在参数列表后的数据表中追加数据获取未捕获的语法错误:缺少) $(“#searchresult”).append(“+data[i].landarp+++++data[i].landarp+++++++data[i].landpin++++(data[i].landlot?“+data[i].landlot:”)+“/”+(data[i].landblock?+data[i].landblock:)+++++data[i].landfirstname+++data[i].landmiddlename+++data[i].landlastname:“+data[i].landsuffix+“” 对于(变量land=0;land

Javascript 在参数列表后的数据表中追加数据获取未捕获的语法错误:缺少) $(“#searchresult”).append(“+data[i].landarp+++++data[i].landarp+++++++data[i].landpin++++(data[i].landlot?“+data[i].landlot:”)+“/”+(data[i].landblock?+data[i].landblock:)+++++data[i].landfirstname+++data[i].landmiddlename+++data[i].landlastname:“+data[i].landsuffix+“” 对于(变量land=0;land,javascript,jquery,Javascript,Jquery,试图使用此代码从数据库中追加数据,但在这一行的参数列表+“”+data[i].landfirstname+“”+data[i].landmiddlename+“”+data[i].landlastname+“”+data[i].landlastname+,“+data[i].landsuffix+之后,我得到了未捕获的语法错误:缺少)这是什么原因以及如何解决它您不能在$(“#搜索结果”)中放入for语句。追加( 我的建议是创建一个变量并填充它…然后在append中使用它 例如: $("#sear

试图使用此代码从数据库中追加数据,但在这一行的参数列表+“”+data[i].landfirstname+“”+data[i].landmiddlename+“”+data[i].landlastname+“”+data[i].landlastname+,“+data[i].landsuffix+之后,我得到了
未捕获的语法错误:缺少)
这是什么原因以及如何解决它

您不能在
$(“#搜索结果”)中放入
for
语句。追加(

我的建议是创建一个变量并填充它…然后在append中使用它

例如:

$("#searchresult").append("<tr><td id=''>" + data[i].landarp + "</td>" + "<td id=''>" + data[i].landarp + "</td>" + "<td id=''>" + data[i].landpin + "</td>" + "<td id=''>" + (data[i].landlot ? "Lot " + data[i].landlot : "") + "/" + (data[i].landblock ? "Block " + data[i].landblock : "") + "</td>" + "<td id=''>" + data[i].landfirstname + " " + data[i].landmiddlename + " " + data[i].landlastname + ", " + data[i].landsuffix + "</td>"
    for (var land = 0; land < landaddress.length; land++) {
        landownercontactflag = landaddress[land].landownercontactflag;
        landownercontactflag === "1" ? (contactaddress = landaddress[land].landownerprovince + " " + landaddress[land].landownermunicipality + " " + landaddress[land].landownerbarangay + ", " + landaddress[land].landownerstreet) : (homeaddress = landaddress[land].landownerprovince + " " + landaddress[land].landownermunicipality + " " + landaddress[land].landownerbarangay + ", " + landaddress[land].landownerstreet) + "<td id=''>" + landownercontactflag === "1" ? contactaddress : homeaddress + "</td>"
    } + "<td id=''>" + data[i].landyear + "</td>" + "<td id=''>" + "<a class=\"af_rpta_treasuryall_specificpin\"  id=" + data[i].landpin + " href='#' >View Details</a>" + "</td></tr>");
var myVar=”“+数据[i].landarp+++++data[i].landarp
...
对于(变量land=0;land
但是…你确定你真的知道你的“for”循环在做什么吗

更新:作为备选方案(无变量):

$(“#searchresult”).append(“+data[i].landarp+++data[i].landarp….”);
...
对于(变量land=0;land
如果删除所有特定于数据的部分,这就是您拥有的:

 $("#searchresult").append("<tr><td id=''>" + data[i].landarp + "</td>" + "<td id=''>" + data[i].landarp ....);
    ...
    for (var land = 0; land < landaddress.length; land++) {
      landownercontactflag = landaddress[land].landownercontactflag;
      ....
      $("#searchresult").append(".....");
    }
    ....
    $("#searchresult").append("....");

因为在
追加(
)的末尾有一个换行符,它会查看下一个语句是什么。如果这是“+”,它会继续追加下一个文本,但在这种情况下,这是一个新的
语句,用于
-所以javascript尝试关闭
.append(
,并给出一个缺少“)”的错误。”

这相当于:

$("#").append();
看到“现在”结尾处的“?因为在隐含“;”之前没有“)”,它会警告您缺少“)”一个

如果添加了“);”在这一行的末尾,您将在稍后得到一个关于
+..
的错误,因为
+
没有什么可加的


正如你所确定的,这是因为试图将一个命令放在另一个命令的括号内,但我想解释为什么解释器在换行符处使用隐含的语句结尾时会这样想。

在for循环开始之前,没有关闭append函数“)”。同样,如果没有关闭,则函数调用中不能有for循环。我明白了谢谢你,朱哈娜,我不知道。我想我应该把它放在一个变量中,然后使用这个变量你认为呢?>什么是“丢失”错误的原因你错过了一个“)”我认为你应该认真地重新考虑你是如何建造这个怪物的。至少在单独的一行中添加每个td,最好将它们创建为jQuery元素,因为现在如果数据中碰巧有HTML标记,就会破坏代码。一旦你让它工作,我建议你把它发布到网站上,以获取一些提示。我的数据是多维的,所以我需要内部循环来获取地址。好的。。。但是你必须在一个(或多个)字符串中添加任何你需要在页面中写入的内容。。。这是因为.appen(…)需要一个字符串作为参数。。。而且你不能在里面放一个“for”语句:你必须使用一个循环来创建一个变量(或者出现循环中的任何一个元素)。。。请记住:只有“append”中的字符串(请参阅我的更新回复)。您需要
for
循环,但它不需要位于
append
中-解决方案是首先构建整个html,然后将其发送到append。就我所见,在构建html阶段中没有任何内容依赖于“#searchresult”的现有值
$("#searchresult").append("text"
for (var land = 0; land < landaddress.length; land++) {
    landownercontactflag = "text";
} 
+ "text");
$("#").append()
$("#").append();
$("#searchresult").append("text";
for ...