我不确定我的代码有什么问题,x
可能是一个字符串左右。
我试图转换它,但我的代码仍然无法运行。
如果我输入一个数字而不是像x
这样的usage[1]
,那就可以运行了。
$(document).ready(function() {
$('#iptable tr').click(function (event) {
var x = parseInt("$(this).attr('id')");
alert({{ usage[x] }});
});
});
答案 0 :(得分:1)
应该是
var x = parseInt($(this).attr('id'));
你可以在这里找到的样本
var usage = ["a", "b", "c"];
$(document).ready(function() {
$('#iptable tr').click(function(event) {
var x = parseInt($(this).attr('id'));
alert(usage[x]);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="iptable">
<tr id="0">
<td> row 1 </td>
</tr>
<tr id="1">
<td> row 2 </td>
</tr>
<tr id="2">
<td> row 1 </td>
</tr>
</table>
答案 1 :(得分:1)
删除引号并在使用paseInt时使用基数
$(document).ready(function() {
$('#iptable tr').click(function(event) {
var x = parseInt($(this).attr('id'),10);
alert({{usage[x]}});
});
});
答案 2 :(得分:0)
Aswin Ramesh :它应该是
var x = parseInt($(this).attr('id'));
正如 Aswin Ramesh 所述,您使用的引号不正确:
$(document).ready(function() {
$('#iptable tr').click(function(event) {
var x = parseInt($(this).attr('id'));
alert({{usage[x]}});
});
});
这是正确的编码。
答案 3 :(得分:0)
您正在添加额外的报价
//脚本
$(document).ready(function() {
$('#iptable tr').click(function(event) {
var x = parseInt($(this).attr('id'));
alert({{usage[x]}});
});
});
答案 4 :(得分:0)
这就是我的运作方式!
$(document).ready(function() {
$('#iptable tr').click(function (event) {
// alert($(this).attr('id'));
// var x = $(this).attr('id');
var x = parseInt($(this).attr('id'),10);
var y = {{usage}};
alert (y[x -1]);
});
});
答案 5 :(得分:0)
试试这个:
var usage = {{ usage|tojson }};
$(document).ready(function() {
$('#iptable tr').click(function (event) {
var x = parseInt($(this).attr('id'));
alert(usage[x]);
});
});
{{ }}
符号之间的片段由服务器上的 Jinja / Flask 呈现,然后每个代码都进入Javascript,因此您无法通过x
(在Javascript中动态生成的变量)到该语法中...但是你可以从Python / Flask代码传递用法变量(假设它是一个对象)使用Jinja tojson
builtin filter