小程序能否主动触发事件
我现在要做一个批量删除功能,点击一个【全选】的checkbox,就能全选列表中所有的checkbox,
我使用的是在data里放selectAll:false的变量,全部的checkbox的checked="{{selectAll}}",
然后改变selectAll:true就可以全部显示选中了,但是这样不会触发bindchange,没办法获取所有的id号,请问有办法获取所有的id吗?
5 回复
自己搞出来了一个办法,用createSelectorQuery,效率也还不错,直接省掉了bindchange事件,从代码简洁度来讲感觉好一些。
100条,耗时29毫秒,感觉还可以。
var idlist = []; var dt = new Date(); var ss = wx.createSelectorQuery(); var res = ss.selectAll( ".selectCheckbox" ); res.fields({ properties: [ "checked" , 'value' ] }, function (resx) { $.log(resx.length) for ( var x = 0; x < resx.length; x++) { var tjson = resx[x]; $.log(tjson); if (tjson.checked === true ) { idlist.push(tjson.value); } } }).exec( function () { $.log(idlist); console.log( "耗时=>" + ( new Date() - dt)); }); |