首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数字从HTML传递到JS函数,在JS中变成“未定义”。为什么?

将数字从HTML传递到JS函数,在JS中变成“未定义”。为什么?
EN

Stack Overflow用户
提问于 2016-11-27 09:18:36
回答 2查看 66关注 0票数 2

下面是PHP和HTML:

代码语言:javascript
复制
<?php $rowCountInDataTable=600; ?>
...
<button onclick="<?php echo "showNextRows($rowCountInDataTable)"; ?>"></button>;

这是JS:

代码语言:javascript
复制
function showNextRows(totalRowCount) {
    alert("button clicked");//check
    alert("Total row count: " . totalRowCount);//check
    console.log("Total row count: " . totalRowCount);//check
    ...
}

undefined.打印alertconsole.log问题是为什么?如何在JS中获得正确的值,即600

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-27 09:22:37

与PHP不同,在JavaSript中,级联操作符是+,而不是.,正如您所写的。

将点改为加法。即:

代码语言:javascript
复制
alert("Total row count: " + totalRowCount); //check
票数 7
EN

Stack Overflow用户

发布于 2016-11-27 09:24:53

您可以采用这种方法,只需将行计数指定为按钮上的一个数据属性,然后在单击按钮时使用jQuery来获取它。

PHP/HTML:

代码语言:javascript
复制
<?php $rowCountInDataTable=600; ?>
...
<button class="row-count-button" data-row-count="<?= $rowCountInDataTable ?>"></button>

Javascript:

代码语言: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
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40827394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档