将数字从HTML传递到JS函数,变为" undefined"在JS中。为什么?

时间:2016-11-27 09:18:37

标签: javascript php jquery html

这是PHP和HTML:

<?php $rowCountInDataTable=600; ?>
...
<button onclick="<?php echo "showNextRows($rowCountInDataTable)"; ?>"></button>;

这是JS:

function showNextRows(totalRowCount) {
    alert("button clicked");//check
    alert("Total row count: " . totalRowCount);//check
    console.log("Total row count: " . totalRowCount);//check
    ...
}

alertconsole.log都打印 undefined 。问题是为什么?以及如何在JS中获取正确的值,600

2 个答案:

答案 0 :(得分:7)

与PHP不同,在JavaSript中,连接运算符为+,而不是.,正如您所写的那样。

将点更改为加号。即:

alert("Total row count: " + totalRowCount); //check

答案 1 :(得分:0)

您可以采用这种方法,只需将行计数作为数据属性分配给按钮,然后在单击按钮时使用jQuery抓取它。

PHP / HTML:

<?php $rowCountInDataTable=600; ?>
...
<button class="row-count-button" data-row-count="<?= $rowCountInDataTable ?>"></button>

使用Javascript:

$('button.row-count-button').on('click', function() {
    var totalRowCount = $(this).data('row-count-button');
    alert("button clicked");//check
    alert("Total row count: " + totalRowCount);//check
    console.log("Total row count: " + totalRowCount);//check
});