2014-02-14 49 views
0

我繼承了一個有點意大利麪代碼上傳程序,它使用jsTree列出上傳的文件。當您右鍵單擊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 
       } 
      } 
     }; 

    } 

再舉例來說,這裏是「添加文件夾」的模式:我試着this page工作

<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 --> 

但還沒有能夠整合它。

回答

1

想通了 - 希望這可以幫助別人。這比我想象的要簡單得多:

你可以用一些jQuery觸發模式(我不知道爲什麼我不認爲我不能混合使用javascript/jQuery - 也許這不是好的做法,但對於)

"Add": { 
     "label": "<?php echo t('add_folder', 'Add Folder'); ?>", 
     "action": function(obj) { 
      $('#modalAddFolder').modal('show'); 
      } 
      }, 

與window.location不同,它不啓動變量,但可以在需要時輕鬆附加這些變量。

+0

保存我的一天!謝謝 – aksappy

相關問題