如何在此PHP-> HTML-> JS代码中将String值传递给JS函数?

时间:2018-11-28 14:05:08

标签: javascript php html sql

我试图在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++;
        }

此循环从SQL数据库中提取每个$row,然后发布一个复选框。单击此复选框后,我要调用JS函数totalSummary(),该函数将传递一个int值(指定席位的费用)和String类型的行号。问题是,当我仅用$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>";

仅存在警报调用,因此我可以看到该函数被调用。但是当我选中一个框时,它不会出现。

在我拔头发时会有所帮助!

谢谢。

1 个答案:

答案 0 :(得分:0)

您在第一个代码块中的引号有问题。 您可以使用单引号来包装onclick函数和$ rowNumber值onclick='totalSummary($price,'$rowNumber');' 尝试类似 onclick=\"totalSummary($price,'$rowNumber');\"