Php 这到底需要如何解决?
我遇到了一个小问题,需要你的帮助。我在一个Joomla模块中编写代码,但这对所有不喜欢Joomla的人来说并不是一个真正的问题 在Joomla的模块中,将有一个名为Php 这到底需要如何解决?,php,javascript,jquery,json,joomla,Php,Javascript,Jquery,Json,Joomla,我遇到了一个小问题,需要你的帮助。我在一个Joomla模块中编写代码,但这对所有不喜欢Joomla的人来说并不是一个真正的问题 在Joomla的模块中,将有一个名为tmpl(template简称)的文件夹,其中包含一个小文件default.php,视图将显示在浏览器中。这大概是我正在处理的文件的一部分 !DOCTYPE HTML <?php // perform some initialization ?> <script language="javascript">
tmpl
(template
简称)的文件夹,其中包含一个小文件default.php
,视图将显示在浏览器中。这大概是我正在处理的文件的一部分
!DOCTYPE HTML
<?php
// perform some initialization
?>
<script language="javascript">
$(document).ready(function()
{
var obj=["o1","o2","o3","o4",...,"o_n"];
//do something with range obj
});
</script>
<div>
<div class="content">
<?php
if(is_set($array))
{
foreach($array as $key=>$val):
?>
//GET $val->id
<?php
//display $val->$content
}
?>
</div>
</div>
!DOCTYPE HTML
$(文档).ready(函数()
{
var obj=[“o1”、“o2”、“o3”、“o4”、…、“o_n”];
//用rangeobj做点什么
});
//获取$val->id
在foreach
循环中,我希望获得$val
中的所有整数ID,这些ID将作为字符串反馈到上述javascript的obj
变量中。我需要这是自动完成的;加载页面时,javascript中的obj
被初始化,当我向数据库中添加新的$val
项时,这也必须自动完成(我不必打开此默认页面来编辑obj
)
你了解我现在的问题吗,请提问并回答。谢谢一个解决方案是用PHP构建要传递给JS的数组,然后对其进行编码并按原样传递给JS。这比在JS中构建它,然后通过生成的JS代码扩展它要容易得多。请参见以下示例:
!DOCTYPE HTML
<?php
// perform some initialization
?>
<?php
$obj = array("o1","o2","o3","o4",...,"o_n");
if(is_set($array)) {
foreach($array as $key=>$val) {
$obj[] = $val->id;
}
}
?>
<script language="javascript">
$(document).ready(function()
{
var obj=<?php echo json_encode($obj); ?>;
//do something with range obj
});
</script>
!DOCTYPE HTML
$(文档).ready(函数()
{
var-obj=;
//用rangeobj做点什么
});
另一种方法是使用AJAX调用填充此数组,但这并不总是最好的方法,因此我将让您自己决定。在呈现页面时,将javascript组成字符串并输出该字符串。因此,当您的页面被加载时(在您已经构建了数组对象之后),它将以JS的形式执行
希望这有帮助谢谢Jadkik,这看起来很有希望。我会先尝试一下你的建议,jason方法,如果我有时间的话,也会用ajax重新做。