网格复选框获取所有选中的值

时间:2014-05-23 02:23:35

标签: extjs

我有一个带复选框的网格,每次检查3(3)个数据时,它都不显示所有ID,而只显示我点击的第一个数据并显示3次..

这是我的代码

{
    header: '',
    width: 23,
    dataIndex: 'id_product',
    renderer: function(chck, value, metaData, record, row, col, store, gridView) {
        return '<input name="check[]" type="checkbox" value="'+chck+'">';

    },

        listeners: {
            click: function(){
                var check = document.getElementsByName('check[]');
                var checkLength = check.length;

                for(var i=0; i < checkLength; i++){       
                    if(check[i].checked){

                     console.log(check[i].value); 
                     break;
                       var store = this.getStore('BP4.sub.ProductPricing.store.PriceListStore');
                       var SKU = store.getAt(i).get('id_product');
                       console.log(SKU);
                    }

                }

            }
        }

}

当我点击3个数据时,它显示类似的内容,它只显示并重复我点击的第一个数据ID,

- 1 1 1 - 但我需要像这样的输出

- 1 2 3 -

提前致谢!!!

1 个答案:

答案 0 :(得分:0)

变化:

var check = document.getElementsByName('check[]');

var check = this;

添加课程:

<input name="check[]" type="checkbox" value="'+chck+'">

为:

<input name="check[]" type="checkbox" value="'+chck+'" class="cb">

然后添加一个监听器:

Ext.get('cb').on('click', function(e, t){
      t = Ext.get(t);
      console.log(t);
}