我有一个带有变量$ total的php文件作为其变量之一。
作为我项目的一部分,我必须打印一份结果表。 每当我显示表格时都会调用外部javascript,类似这样的
echo "<script src='course.js' language='JavaScript'></script>";
echo "<table border='1'>";
echo "<tr>";
echo "<td><td>";
这个表的每一行都有一个复选框,我调用脚本文件来检查复选框的数量是否不超过8,我需要$ total变量,这是表中的总行数
我的course.js文件看起来像这样(假设$ total)
var count = 0;
for(i=1;i<=$total;i++)
{
if(document.getElementByTag('course."i"').checked==true)
count++;
}
if(count==8)
{
for(i=1;i<total;i++)
{
document.getElementById('course."i"').disable=true;
}
}
}
答案 0 :(得分:4)
从PHP输出HTML时,在嵌入脚本之前将JavaScript变量设置为等于total。像...这样的东西。
echo "<script type="text/javascript">var php_total = '" . $total . "';</script>";
echo "<script src='course.js' type='text/javascript'></script>";
echo "<table border='1'>";
echo "<tr>";
echo "<td>";
然后在course.js中你可以调用JS变量php_total。
老实说,我仍然不能100%确定你想要做什么,但我不认为这是正确的做法。您的JavaScript甚至不应该运行。
您可以使用JavaScript获取总行数。此外,我对这个“神奇数字”8的来源感到有点困惑。
答案 1 :(得分:1)
除非你的javascript文件存在比这里指出的更多的堆,否则我真的不明白它为什么需要它。
是输出表内容的php,是吗?因此,最初将这些复选框设置为选中/取消选中的是php吗?那么为什么php不能计算已设置检查的数量,如果检查了必需的数字(8?),也将它们设置为禁用?
答案 2 :(得分:0)
您可以将变量存储在隐藏字段中,例如
<input type="hidden" id="total" value="<?=$total?>" />
然后使用javascript拉取值:
var total = document.getElementById("total").value
答案 3 :(得分:0)
我认为有几种方法可以做到这一点。
就像威廉说的那样只使用回声。这是我猜的最简单的方法。我还认为如果您在代码中忽略它并且它不是平台无关的,那么这看起来有点脏。
几乎所有语言都有可能对json进行编码/解码。在php中你可以通过调用json_encode和json_decode来完成它,它将PHP代码转换为你可以操作的javascript
使用Jquery.getJson(),您可以获得javascript并使用它。同 jsonp您甚至可以跨域工作。