【问题标题】:How to switch an AccordionContainer on click?如何在点击时切换 AccordionContainer?
【发布时间】:2013-02-26 17:51:37
【问题描述】:

我有一个使用 dijit.layout.AccordionContainer 和两个子容器的应用。

加载地图时,默认情况下会打开其中一个容器。我希望在单击按钮时关闭默认容器并打开第二个容器。知道怎么做吗?

我尝试过使用selectChild() 方法,但一定是做错了,还是我完全脱离了基础?

编辑我的 HTML 是:

<div dojotype="dijit.layout.ContentPane" id="leftPane" region="left" splitter="true">
   <div dojotype="dijit.layout.AccordionContainer">
      <div dojotype="dijit.layout.ContentPane" title="Table of Contents">
           <div id="tocDiv"></div>
      </div>
      <div dojotype="dijit.layout.ContentPane" title="Search Results" id="tab2">
           <div id="datagrid">
                <table data-dojo-type="dojox.grid.DataGrid" data-dojo-id="grid"  id="grid" data-dojo-props="rowsPerPage:'5', rowSelector:'20px'">
                     <thead>
                         <tr>
                            <th field="Parcel Identification Number" width="25%">Parcel ID/th>
                            <th field="Site Address" width="30%"> Address </th>
                         </tr>
                     </thead>
                 </table>
             </div>
           </div>
    </div>
</div>

我试图通过我为点击时需要发生的其他一些事情创建的功能在点击时打开“tab2”

JS:

function doFind() {             
     //Set the search text to the value in the box
     findParams.searchText = dojo.byId("parcel").value;
     grid.showMessage("Loading..."); //Shows the Loading Message until search results are returned.
     findTask.execute(findParams,showResults);
}

【问题讨论】:

  • 您是如何创建小部件的?你怎么打电话给selectChild()?什么版本的道场? This fiddle 似乎可以满足您的要求。
  • 我已经编辑了我的问题以显示我的代码。我删除了我的 selectChild() 引用,因为我似乎做得不对。
  • 那个小提琴成功了。谢谢您的帮助。如果您将评论作为答案,我会将其标记为已回答。再次感谢!
  • 没问题,很高兴我能帮上忙。

标签: javascript widget onclick dojo


【解决方案1】:

听起来您在尝试使用AccordionContainer#selectChild 方法时走在正确的轨道上。这应该很容易通过设置 Button 的 onClick 处理程序来处理,如下所示:

onClick: function(){
    var container = dijit.byId("container");
    container.selectChild("pane2", true); 
}

其中"pane2" 是您希望在单击按钮时打开的ContentPane 的ID,true 表示您希望以动画方式打开窗格。您可以在this fiddle 中查看示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 2016-11-22
    • 2013-08-23
    • 2018-11-24
    相关资源
    最近更新 更多