我想在PHP循环中填充jQuery listview,我试图通过回显用PHP变量填充列表的javascript代码来做到这一点。这就是我正在使用的:
我的HTML
<div data-role='page' id='feedPage'>
<div data-role='content'>
<ul id='pics' data-role='listview'>
<li>test</li>
</ul>
</div>
</div>
和我的PHP / JavaScript
echo "<script type='javascript'>
var pics = \$('#pics')
var pitem = \$('<li/>').html($myArray[element])
var plink = \$('<a/>')
pitem.append(plink)
pics.append(pitem)
pics.listview('refresh')
</script>";
但列表空白。这段代码在PHPfor
循环内运行,并且我能够访问和操作$myArray
PHP中所有的元素,但是似乎无法填充列表。我什至尝试运行此代码,.html('hello')
但无济于事。我得到的只是一个空白列表,除了test
我在HTML中硬编码的项目。有没有办法像这样在PHP中生成列表,如果可以的话,我该如何正确执行?
谢谢!
解:
我只是通过执行<script type='text/javascript'>
和.html('$myArray[element]')
(注意单引号)就使它起作用。这是可行的,因为javascript在PHP echo中运行。哦,我的$都不需要逃脱。最终代码:
echo "<script type='text/javascript'>
var pics = $('#pics')
var pitem = $('<li/>').html('$myArray[element]')
var plink = $('<a/>')
pitem.append(plink)
pics.append(pitem)
pics.listview('refresh')
</script>";
我认为主要问题type='javascript'
应该在type='text/javascript'
。
要考虑的另一件事是,$myArray[element]
需要将内容打印为javascript字符串。跑步$myArray = array_map('json_encode', $myArray);
应该可以解决问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句