Javascript jsTree:open";添加文件夹";(或任何右键单击选项)具有模态

Javascript jsTree:open";添加文件夹";(或任何右键单击选项)具有模态,javascript,jquery,twitter-bootstrap,jstree,Javascript,Jquery,Twitter Bootstrap,Jstree,我继承了一个有点意大利式编码的上传程序,它使用jsTree列出上传的文件。当您右键单击jsTree时,您会看到一个选项框,其中包含一些选项(上载文件、添加文件夹、删除文件夹等),这些选项将导致单独的页面。我想知道当你点击这些选项时,比如添加文件夹,它是否会触发一个模式弹出窗口而不是进入一个单独的页面 以下是我尝试使用的代码: function buildTreeViewContextMenu(node) { var items = {}; if ($(node).attr('id

我继承了一个有点意大利式编码的上传程序,它使用jsTree列出上传的文件。当您右键单击jsTree时,您会看到一个选项框,其中包含一些选项(上载文件、添加文件夹、删除文件夹等),这些选项将导致单独的页面。我想知道当你点击这些选项时,比如添加文件夹,它是否会触发一个模式弹出窗口而不是进入一个单独的页面

以下是我尝试使用的代码:

function buildTreeViewContextMenu(node)
{
    var items = {};
    if ($(node).attr('id') == 'trash')
    {
        <?php if($totalTrash > 0): ?>
        var items = {
            "Empty": {
                "label": "<?php echo t('empty_trash', 'Empty Trash'); ?>",
                "action": function(obj) {
                    confirmEmptyTrash();
                }
            }
        };
        <?php endif; ?>
    }
    else if ($(node).attr('id') == '-1')
    {
        var items = {
            "Upload": {
                "label": "<?php echo t('upload_files', 'Upload Files'); ?>",
                "separator_after": true,
                "action": function(obj) {

                    window.location='/';
                }
            },

            "Add": {
                "label": "<?php echo t('add_folder', 'Add Folder'); ?>",
                "action": function(obj) {                       
                    window.location='/view/folder/add?p='+obj.attr("id"); // this part I want to convert to a modal
                }
            }
        };

    }
函数buildTreeViewContextMenu(节点)
{
变量项={};
if($(node.attr('id')=='trash')
{
可变项目={
“空”:{
“标签”:“,
“行动”:功能(obj){
确认皮疹();
}
}
};
}
else if($(node.attr('id')='-1'))
{
可变项目={
“上传”:{
“标签”:“,
“separator_after”:true,
“行动”:功能(obj){
window.location='/';
}
},
“添加”:{
“标签”:“,
“行动”:职能(obj){
window.location='/view/folder/add?p='+obj.attr(“id”);//我想将此部分转换为模式
}
}
};
}
例如,“添加文件夹”的模式如下:


&时代;
添加文件夹

我曾尝试使用,但未能将其集成。

解决了它-希望这对其他人有所帮助。它比我想象的简单得多:

您可以使用一些jQuery触发模式(我不知道为什么我不认为我不能混合使用javascript/jQuery——也许这不是一个好的实践,但就目前而言,它是有效的。)

“添加”:{
“标签”:“,
“行动”:功能(obj){
$('#modalAddFolder').modal('show');
}
},
与window.location不同,这个函数不启动变量,但在必要时可以很容易地附加这些变量

<div class="panel-body">
            <!-- Modal -->
            <div class="modal fade" id="modalAddFolder" tabindex="-1" role="dialog" aria-labelledby="modalAddFolder" aria-hidden="true">
                    <div class="modal-dialog">
                            <div class="modal-content">
                                <div class="modal-header">
                                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                                        <h4 class="modal-title">Add Folder</h4>
                                </div>
                                <div class="modal-body">
                                    <?php require_once("folder/add.php"); ?>
                                </div>
                        </div>
                </div>
        </div>
        <!-- /Add Folder modal -->
    </div>
    <!-- /modal -->
 "Add": {
        "label": "<?php echo t('add_folder', 'Add Folder'); ?>",
         "action": function(obj) {
           $('#modalAddFolder').modal('show'); 
           }
          },