javascript - 如何在这个 PHP --> HTML --> JS 代码中将字符串值传递给 JS 函数?
问题描述
我正在尝试在 HTML 输入标记中调用 JS 函数。这个标签本身在 PHP 代码中,该函数只使用 int 值就可以正常工作,所以我知道问题与我传递字符串的方式有关。见下文。
foreach($res as $row) {
$rowNumber = $row["RowNumber"];
$price = $row["Price"];
echo "<tr><td>".$row["RowNumber"]."</td>"." "."<td>".
$row["Price"]."</td><td><form method='POST'
action='book.php'>
<input type='checkbox' name='$i'
onclick='totalSummary($price,'$rowNumber');'>
</form></td></tr>";
$i++;
}
这个循环$row
从 SQL 数据库中提取每个,然后发布一个复选框。单击此复选框后,我想调用totalSummary()
传递一个 int 值(指定座位的成本)和 String 类型的行号的 JS 函数。问题是当我调用该函数时,$price
该函数被成功调用。但是当我尝试通过一个 STRING 时,它也没有接收到它。请参见下面的 JS 代码(它也在上面的代码之内并写在上面的代码之后):
echo "<script type='text/javascript'>
var totalPrice = 0;
var seatsSelected = [];
function totalSummary(cost,seats){
alert(totalPrice);
totalPrice = totalPrice + cost;
seatsSelected.push(seats);
}
function displayTotal(){
alert('Seats selected: ' + seats.join(',') + \ntotalPrice);
}
</script>";
警报调用只在那里,所以我可以看到该函数被调用。但是当我选中一个框时它不会出现。
当我把头发拉出来时,我们将不胜感激!
谢谢。
解决方案
第一个代码块中的引号有问题。您使用单引号来包装 onclick 函数和 $rowNumber 值onclick='totalSummary($price,'$rowNumber');'
尝试类似
onclick=\"totalSummary($price,'$rowNumber');\"
推荐阅读
- java - 如何重复不成功的 Realm 交易?
- selenium - Xpath:FireFox 不支持,但 Chrome 可以
- c# - CNTK CMD RedirectStandardOutput = true 不工作
- javascript - Flask WTForms 使用多个按钮禁用多个字段
- ios - 仅对动态表视图的第一行禁用滚动
- excel - 我需要一个代码来处理用户表单。代码需要复制sheet1并根据userform中的两个文本框命名
- python - 我如何检查 ctx 是否是私人频道(dm 频道)
- string - 函数作为参数 Kotlin
- python - 我在python中做了一个k-nn模型,如何将它保存到tflite?
- amazon-ec2 - 有没有办法阻止 aws-iam-authenticator 使用环境中的密钥?