我正在尝试计算与用户输入的记录关联的返回记录总数。最后,我需要指定一个 if/else 语句决定是否返回多条记录。
示例1:
用户输入记录#123456789 程序显示记录 #223456789 和 #333456789 与该记录关联 将出现一个信息窗口,其中激活了链接以显示相关记录
示例 2: 用户输入记录#000006789 程序显示没有关联的记录 将出现一个信息窗口,但没有显示关联记录的链接
目前,即使没有关联记录,链接仍然会显示。
以前(当计数不是问题时;仅存在输入时)具有关联记录的记录的设置是:
其中compacct是与用户输入记录关联的记录列表
else if ("<%=compacct(0) %>" != ""){
var salecontent = "";
var content = "<b>Account Number</b>: " + "<%=number %> "+
"<center><br><b>Comparable Sales</b></center>";
content = content + salecontent +
"<br><br>" + "<a class='infolink' href=\"javascript:void(0)\" onclick=\"javascript:getallcommsale(saleaccts)\">Show all Comparable Sales</a>" +
"<br>" + "<img src=\"./appFiles/graphics/question3.jpg\" onmouseover=\"this.src='./appFiles/graphics/comp_sales.png';\" onmouseout=\"this.src='./appFiles/graphics/question3.jpg';\"/>" ;
我现在修改了另一部分中的代码,以便可以输入所有帐户,而不仅仅是具有关联记录的帐户。副作用是现在 compacct 检索用户输入的记录而不仅仅是关联的记录。所以我现在需要检查 compacct 的记录数是否大于 1。我已经尝试过:
var sale = "<%=compacct(0) %>";
var saleCount = Object.keys(sale).length;
if (saleCount > 1){
检索到的长度是账户中数字的总和,而不是账户总数
我也尝试过:
var sale = "<%=salesstrap(0) %>";
for (i = 1; i>saleCount.length; i++){
但是出现同样的问题
最佳答案
sale
是代码示例中的 String
。对字符串调用 Object.keys()
会将字符串视为字符数组,并为您提供对该数组有效的索引。即:
Object.keys("abc")
将返回数组:
["0", "1", "2"]
该数组的长度将是字符串的长度。
我不确定您如何期望 sale
是字符串以外的任何内容。
关于javascript - Object.keys(obj).length 返回字符总和而不是记录总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35944339/