从循环创建下拉菜单

时间:2019-01-28 14:23:15

标签: javascript php jquery

我正在使用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变量以在脚本中工作?

1 个答案:

答案 0 :(得分:0)

请尝试在$ x生成的值两边加上引号,因为它实际上是字符串

var n = '<?php echo $x; ?>';

然后将变量“ n”绑定到下拉菜单中。

$('menuContainerSelector').html(n)