`

解决Extjs当中复选框全选后,取消选中某一项,全选框仍是选中状态的问题

阅读更多

解决Extjs当中复选框全选后,取消选中某一项,全选框仍是选中状态的问题

 

方法:

写一个js文件,在js文件中重写复选框的显示代码,在其他地方引入该js文件

 

js文件重写代码如下:

//清除 checkbox 表头全选
Ext.override(Ext.grid.GridView,{	
    onRowSelect : function(row){
        this.addRowClass(row, "x-grid3-row-selected");
    	var selected = 0;
    	var len = this.grid.store.getCount();
        for(var i = 0; i < len; i++){
            var r = this.getRow(i);
            if(r){
               if( this.fly(r).hasClass('x-grid3-row-selected'))selected = selected + 1;
            }
        }
    	
        var hd = this.grid.getEl().select('div.x-grid3-hd-checker').first();   
        
        if (selected == len && !hd.hasClass('x-grid3-hd-checker-on')) {
        	 hd.addClass('x-grid3-hd-checker-on'); 
        }
    },

    onRowDeselect : function(row){
        this.removeRowClass(row, "x-grid3-row-selected");
        	var selected = 0;
        	var len = this.grid.store.getCount();
            for(var i = 0; i < len; i++){
                var r = this.getRow(i);
                if(r){
                   if( this.fly(r).hasClass('x-grid3-row-selected'))selected = selected + 1;
                }
            }
            var hd = this.grid.getEl().select('div.x-grid3-hd-checker').first();   
            
            if (selected != len && hd.hasClass('x-grid3-hd-checker-on')) {
            	 hd.removeClass('x-grid3-hd-checker-on'); 
            }
    }
});

 

分享到:
评论

相关推荐

    EXTJS动态树支持checkbox 全选

    标题中的“EXTJS动态树支持checkbox全选”指的是EXTJS中树组件的一个特性,即在树形结构中添加复选框(checkbox)功能,并支持全选和全取消选中操作。这样的功能对于需要用户进行多项选择的场景非常有用,比如文件...

    extjs带复选框的树包括全选 反选 子选父以及 父选子

    3. **子选父**:当一个子节点的复选框被改变时,其父节点的复选框状态应根据所有子节点的选中状态进行更新。可以监听`checkchange`事件,并在事件处理函数中进行判断。 4. **父选子**:当父节点的复选框被选中或...

    extjs4.1下拉复选框完整DEMO

    在这个"extjs4.1下拉复选框完整DEMO"中,我们主要关注的是如何使用ExtJS实现一个具有动态加载功能的下拉复选框组件。这个DEMO包含以下几个关键组成部分: 1. **ext-all-debug.js**:这是ExtJS的核心库文件,包含了...

    Extjs3.4.0版本 多选下拉框效果支持多选/全选/全不选

    5. **全选/全不选功能**:添加两个方法,一个用于选择所有项,另一个用于取消所有项的选择。这些方法需要更新Store中的记录,改变它们的选中状态。 `multiselect.css`可能包含了为多选下拉框定制的样式,例如调整复...

    Extjs全选去掉

    5. **监听事件**:你还可以通过监听`checkchange`事件来控制全选行为,当全选复选框状态改变时,阻止其默认操作。 6. **自定义模板**:如果你需要保留全选功能但希望自定义其行为,可以使用自定义列头模板,通过`...

    带复选框的 ExtJs tree

    在给定的文件中,我们关注的是“带复选框的ExtJS tree”这一主题,这涉及到ExtJS框架下的树形组件(TreePanel)如何与复选框结合,为用户提供更为灵活的数据选择和管理方式。 ### 标题解析:“带复选框的ExtJS tree...

    基于EXTjs 的 动态复选框树

    基于EXTjs 的 动态复选框树 json数据交互

    extjs3.X 带复选框的树

    4. **事件处理**:用户点击复选框时,会触发事件,这个事件可能包含节点的新状态,以及当前选中或取消选中的节点信息。这些事件可以被其他部分的代码监听,用于执行如数据同步、业务逻辑处理等操作。 5. **数据模型...

    extjs4带全选复选框的下列表(有bug)

    1、解压,进入extjs4.2.1\examples\form,浏览器打开 hbox-form.html 文件,当我勾选中任意一个多选下拉框,然后再勾选‘ALL’时,‘ALL’却是不被选中的状态,且输入框里没有值 2、下拉列表选择功能的js代码在下面...

    解决ext下拉列表全选和去全选功能

    标题提到的“解决EXT下拉列表全选和去全选功能”是一个常见的需求,特别是在数据表格或下拉列表中进行批量操作时。下面我们将深入探讨EXTJS中实现这一功能的方法。 EXTJS的下拉列表通常由`Ext.form.field.ComboBox`...

    关于extjs treepanel复选框选中父节点与子节点的问题

    在本例中,我们关注的是如何实现一个带有复选框的TreePanel,以便在选中父节点时自动选中所有子节点,而只有当所有子节点都未被选中时,父节点才能被取消选中。 首先,我们创建了一个新的Ext.tree.TreePanel实例,...

    Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法

    在Extjs中,GridPanel组件是非常常用的一个表格组件,它提供了丰富的功能来...总的来说,通过上述方法,我们可以在Extjs的GridPanel中根据某行数据的条件控制复选框的显示及选中状态,有效地实现复杂的业务逻辑需求。

    Extjs复选下拉列表实现了全选全不选和操作序自然序功能

    主要实现下拉列表复选功能,从Ext.ux.form.LovCombo.js文件改进而来...目前实现的有全选,全不选,自然序,操作序功能 changeSort负责实现操作序功能(即先选的显示顺序在前,后选的在后;取消操作也不影响操作的顺序)

    Extjs4.2带复选框下拉树组件

    网上搜索了许久未找到...Extjs4.2 带复选框的下拉树,解决了向下勾选子节点、向上勾选父节点,正选反选获取值等问题,勾选的节点显示displayfield值直接显示在下拉文本框中。需要引用ext-all.js和ext-all-neptune.css

    用JS修改checkbox的选中状态

    复选框是用户界面中一种允许用户进行多项选择的控件,其状态通常有两种:选中(checked)和未选中。在本文中,我们将深入探讨如何使用JavaScript来改变checkbox的选中状态。 首先,我们需要了解HTML中的`&lt;input&gt;`...

    无废话ExtJs 系统教程十九[动态复选框:RemoteCheckboxGroup]

    在本教程中,我们将深入探讨ExtJS中的"RemoteCheckboxGroup",这是一个用于处理远程数据源的动态复选框组件。这个组件通常用于显示从服务器获取的动态选项,它允许用户根据需要选择或取消选择多个选项,同时将这些...

    ext多选下拉列表的全选功能实现

    7. **UI反馈**:在用户进行全选或全取消操作后,界面上应有明显的反馈,例如改变全选按钮的文本或图标状态,以反映当前的选择状态。 8. **优化性能**:如果数据源非常大,全选操作可能会导致性能问题。因此,可能...

Global site tag (gtag.js) - Google Analytics