Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ddrag、拖放和引导UI手风琴_Javascript_Jquery_Angularjs_Twitter Bootstrap_Accordion - Fatal编程技术网

Javascript Ddrag、拖放和引导UI手风琴

Javascript Ddrag、拖放和引导UI手风琴,javascript,jquery,angularjs,twitter-bootstrap,accordion,Javascript,Jquery,Angularjs,Twitter Bootstrap,Accordion,我有这样的代码: <div ui-tree> <ol ui-tree-nodes="" ng-model="policies"> <li ng-repeat="item in policies" ui-tree-node> <div ui-tree-handle> <accordion> <accordion-group>

我有这样的代码:

<div ui-tree>
    <ol ui-tree-nodes="" ng-model="policies">
      <li ng-repeat="item in policies" ui-tree-node>
        <div ui-tree-handle>
          <accordion>
            <accordion-group>
              <accordion-heading>
              {{item.Title}}
              <i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': status.open, 'glyphicon-chevron-right': !status.open}"></i></accordion-heading>
              {{item.Content}}                      
            <ol ui-tree-nodes="" ng-model="item.Options" data-nodrop>
              <li ng-repeat="subItem in item.Options" ui-tree-node>
                <div ui-tree-handle>
                    <accordion-group>
                      <accordion-heading>{{subItem.Title}}<i class="pull-right glyphicon" ng-class="{'glyphicon-chevron-down': status.open, 'glyphicon-chevron-right': !status.open}"></i></accordion-heading>
                      {{subItem.Content}}
                  </accordion-group>
                </div>
              </li>
            </ol>
            </accordion-group>
          </accordion>
        </div>
      </li>
    </ol>
  </div>

  • upd:

    <script id="template/accordion/accordion-group.html" type="text/ng-template">
      <div class="panel panel-default">            
        <div class="panel-heading">
          <h4 href class="btn btn-success btn-xs accordion-toggle pull-left" data-nodrag ng-click="toggleOpen();"><i class="glyphicon" ng-class="{'glyphicon-chevron-right': isOpen, 'glyphicon-chevron-down': !isOpen}"></i></h4>
          <h4 class="panel-title">
            <a href accordion-transclude="heading"><span>{{heading}}</span></a>
          </h4>
        </div>
        <div class="panel-collapse" collapse="!isOpen">
          <div class="panel-body" ng-transclude></div>
        </div>
      </div>
    </script>
      <div ui-tree="options" data-drag-delay="20">
        <ol ui-tree-nodes="" ng-model="articles">
          <li ng-repeat="item in articles" ui-tree-node>
            <div ui-tree-handle>
              <accordion close-others="false">
                <accordion-group>
                  <accordion-heading>
                  {{item.Title}}
                  </accordion-heading>                      
                  <div ng-bind-html="item.Content"></div>                     
                <ol ui-tree-nodes="" ng-model="item.Options">
                  <li ng-repeat="subItem in item.Options " ui-tree-node>
                    <div ui-tree-handle>
                      <accordion close-others="false">
                        <accordion-group>
                          <accordion-heading>{{subItem.Title}}
                          </accordion-heading>
                          <div ng-bind-html="subItem.Content"></div>
                        </accordion-group>
                      </accordion>
                    </div>
                  </li>
                </ol> 
                </accordion-group>                   
              </accordion>
            </div>
          </li>
        </ol>
      </div>
    
    
    
  • {{item.Title}
  • {{subItem.Title}
  • 仅当我单击标题文本或正文文本时才拖放工作(在面板标题上未激发任何内容时) 打开是在
    ng click=“toggleOpen();”
    上,一切正常,只是拖放必须在整个元素上(光标用于整个元素,但拖放仅用于元素文本)


    可能如何使用作用域?

    尝试在toggle accordion上使用$event.stopPropagation()。在我的例子中,我只在这样的图标上添加了ui树句柄

    <div class="panel-controls left" ng-hide="isEditable" ui-tree-handle>
                            <span class="controls-item no-border">
                                <i class="glyphicon glyphicon-th-list text-sm text-gray"></i>
                            </span>
                        </div>
    
    
    
    完整代码

           <div ui-tree="options" data-max-depth="3">
            <!-- Ranks list START -->
            <div ui-tree-nodes data-type="rank" ng-model="taskbook.ranks">
                <div ng-repeat="rank in taskbook.ranks"
                     class="panel panel-clean panel-solid panel-sortable"
                     ui-tree-node
                     ng-controller="RankListCtrl"
                     data-type="rank">
                    <!-- Rank Edit START -->
                    <div class="panel-heading clearfix"
                         ng-class="{'': isCollapsed, 'collapsed': !isCollapsed}">
    
                        <div class="panel-controls left" ng-hide="isEditable" ui-tree-handle>
                            <span class="controls-item no-border">
                                <i class="glyphicon glyphicon-th-list text-sm text-gray"></i>
                            </span>
                        </div>
    
                        <h2 class="panel-title pull-left" ng-hide="isEditable">
                            <span ng-bind="rank.name | truncate:false:15"></span>
                        </h2>
    
                        <div class="inline-edit" data-nodrag ng-show="isEditable">
                            <form class="form-inline" role="form">
                                <div class="form-group">
                                    <input type="text"
                                           class="form-control"
                                           placeholder="Rank name"
                                           ng-model="rank.name"
                                           focus-me="isEditable">
                                </div>
                            </form>
                        </div>
    
                        <div class="panel-controls right">
    
                            <button type="button"
                                    class="controls-item btn btn-sm btn-danger btn-flat text-sm"
                                    ng-hide="!isEditable"
                                    ng-click="cancelEditable()">
    
                                <i class="glyphicon glyphicon-remove"></i>
                            </button>
                            <button type="button"
                                    class="controls-item btn btn-sm btn-success btn-flat text-sm"
                                    ng-hide="!isEditable"
                                    ng-disabled="rank.name === ''|| isSaving"
                                    ng-click="hideEditable()">
    
                                <i class="glyphicon glyphicon-ok"></i>
                            </button>
                        </div>
                    </div></div></div>
    
    
    
    唯一的问题是我没有使用手风琴。我执行了这个指令

    希望这能有所帮助

    祝你好运

    内容包装在

    手风琴代码

          <accordion close-others="false">
            <accordion-group is-open="isopen">
              <accordion-heading ng-click="isopen=!isopen">
              <div>{{item.Title}}</div>
              </accordion-heading>                      
              <div ng-bind-html="item.Content"></div>                     
            <ol ui-tree-nodes="" ng-model="item.Options">
              <li ng-repeat="subItem in item.Options " ui-tree-node>
                <div ui-tree-handle>
                  <accordion close-others="false">
                    <accordion-group>
                      <accordion-heading>{{subItem.Title}}
                      </accordion-heading>
                      <div ng-bind-html="subItem.Content"></div>
                    </accordion-group>
                  </accordion>
                </div>
              </li>
            </ol> 
            </accordion-group>                   
          </accordion>
    
    
    {{item.Title}
    
  • {{subItem.Title}
  • 希望这能对您有所帮助。

    请在此处查看: