我正在使用php循环通过带有以下内容的jquery生成下拉菜单
<script type="text/javascript">
$(function(){
// BUTTONS
$('.fg-button').hover(
function(){ $(this).removeClass('ui-state-default').addClass('ui-state-focus'); },
function(){ $(this).removeClass('ui-state-focus').addClass('ui-state-default'); }
);
// MENUS
$('#flat').menu({
content: $('#flat').next().html(), // grab content from this page
showSpeed: 400
});
$('#hierarchy').menu({
content: $('#hierarchy').next().html(),
crumbDefaultText: ' '
});
var n = <?php echo $x; ?>
$('#hierarchybreadcrumb' + n).menu({
content: $('#hierarchybreadcrumb' + n).next().html(),
backLink: false
});
// or from an external source
$.get('menuContent.html', function(data){ // grab content from another page
$('#flyout').menu({ content: data, flyOut: true });
});
});
</script>
<?php
for($x=0;$x<2;$x++)
{
?>
<a tabindex="0" href="#news-items-2" class="fg-button fg-button-icon-right ui-widget ui-state-default ui-corner-all" id="hierarchybreadcrumb<?php echo $x;?>"><span class="ui-icon ui-icon-triangle-1-s"></span>Settings</a>
<div id="news-items-2" class="hidden">
<ul>
<li><a href="<?php echo $x;?>">View Details</a></li>
<li><a href="#">item 1</a></li>
<li><a href="#">item 2</a></li>
</ul>
</div>
我遇到的问题与此有关
var n = <?php echo $x; ?>
$('#hierarchybreadcrumb' + n).menu({
content: $('#hierarchybreadcrumb' + n).next().html(),
backLink: false
});
如果我手动输入n的值,那么一切都很好。我得到了生成的2个下拉菜单。
$('#hierarchybreadcrumb' + 0).menu({
content: $('#hierarchybreadcrumb' + n).next().html(),
backLink: false
});
$('#hierarchybreadcrumb' + 1).menu({
content: $('#hierarchybreadcrumb' + n).next().html(),
backLink: false
});
如何在PHP中获取$ x变量以在脚本中工作?
答案 0 :(得分:0)
请尝试在$ x生成的值两边加上引号,因为它实际上是字符串
var n = '<?php echo $x; ?>';
然后将变量“ n”绑定到下拉菜单中。
$('menuContainerSelector').html(n)