MVC查看加载DIV但javascript无法正常工作

时间:2014-01-31 04:40:39

标签: javascript php jquery html

我无法弄清楚这一点。

我有一个加载我的main.php的控制器:

    <div id="container"></div>
    <script>$('#container').load('index.php?path=wizard&wizard_id=<?php echo $_GET['wizard_id']; ?> #wizard');</script>

“index.php?path = wizard&amp; wizard_id = 1”loading:view / module / wizard.php'  view / module / wizard.php看起来像这样:

 <div id="wizard" data-wizard_id="<?php echo $groups_in_set['wizard_id']; ?>" data-total_sets="<?php echo $groups_in_set['total_sets']; ?>">
        <div id="set" name="<?php echo $groups_in_set['wand_set']; ?>">                 
            <?php foreach ($groups_in_set['groups'] as $group){ ?>
                <!--Step Text -->
                <h1><?php echo $group['group']; ?></h1>
                <!--Step Detail -->
                <div data-group="<?php echo $group['group']; ?>">   
                <script>alert("group");</script> // No script tags pass to main.php     
                    <?php foreach($group['wands'] as $wand){ ?>                 
                        <span id="prompt_elements_<?php echo $wand->wand_id; ?>"></span>
                        <script>                    
                            // Load Wand
                            // Script not executing on ajax load
                            loadPromptElements('<?php echo $wand->prompt_type; ?>', <?php echo $wand->wand_id; ?>);
                        </script>
                    <?php } // End Wand Loop ?>
                </div> <!-- End Group -->                               
            <?php } // End Group Loop ?>
        </div> <!-- End Set -->
    </div>  <!-- End Wizard --> 

从我的评论中可以看出,除了“loadPromptElements”函数之外,所有内容都正确加载。整个脚本标记不会显示在我呈现的HTML中。我无法想出这个,需要一些帮助。谢谢社区!!!

1 个答案:

答案 0 :(得分:0)

关于jQuery .load() 处理脚本

  

如果使用附加到URL [如#wizard] 的选择器表达式调用.load(),则在更新DOM之前会删除脚本,因此未执行

jQuery Reference Page

$('#container').load('index.php?...stuff... #wizard');  // <--- THAT

所以你有几个选择。在#wizard调用中的URL之后找到使用.load()选择器的另一种方法,您可以将其全部(一个函数)放入单独的JS文件中并加载它与.getScript()同时进行。您可能必须将其设为PHP文件,以便可以使用foreach()循环和诸如此类的东西。