【发布时间】:2019-02-22 15:09:30
【问题描述】:
当检查表行时,我试图将序列号 ({{item[4]}}) 从表中存储到数组中。我正在使用 onchange 函数将其存储到数组中。但是,它似乎只适用于整数。我该怎么做才能使它适用于字符串?
HTML 代码:
{% for item in data %}
<tr>
<td>
<input type="checkbox" id="myCheck" name="myCheck" onchange="(countChecks({{item[4]}}))" value="1"/>
</td>
<td>{{item[0]}}</td>
<td>{{item[1]}}</td>
<td>{{item[2]}}</td>
<td>{{item[3]}}</td>
<td>{{item[4]}}</td>
<td>{{item[5]}}</td>
<td>{{item[6]}}</td>
</tr>
{% endfor %}
JavaScript 代码:
var thisList = [];
function countChecks(serialNumber){
checksCounted = (document.querySelectorAll('input[type="checkbox"]:checked').length);
if(thisList.includes(serialNumber)){
alert("Duplicate entry, error: " + serialNumber + ". Try again.");
document.location.reload();
}
else if (!(thisList.includes(serialNumber))){
thisList.push(serialNumber);
}
alert(thisList);
}
因此,例如,当 item[4] = 1234 时。它将被存储到数组中。但是,如果 item[4] = TX-1234,它不会被压入数组,甚至不会调用该函数。
我尝试将函数参数定义为字符串,但这似乎不起作用。请帮助我理解为什么代码不起作用。谢谢!
【问题讨论】:
-
您认为
onchange="countChecks(foobarstring)"有什么问题,如果是var myVariable = foobarstring,这是一个简单的情况,您没有引用您的字符串,因此引擎正在寻找变量... -
所以你有一些服务器端代码正在生成 JavaScript,嵌入在 HTML 中,你已经将问题缩小到“它不起作用”。那是not helpful。使用浏览器中的开发人员工具。看看控制台。查看是否有错误信息。查看您正在生成的 JS。独立测试。查看您生成的嵌入了 JS 的 HTML。这是你所期望的吗?它是有效的 HTML 吗?
标签: javascript html flask