- 其實這個功能可以通過選擇單擊事件的作用域來實現
- html里面,一切元素都可以通過document來得到,所以我們的思路就是取消除了checkbox那個td之外的所有td的單擊事件,通過unbind來實現
- 以下展示代碼,以下代碼是放在onLoadSuccess事件中
1: var s= $("#dg1").datagrid('getPanel');
2: var rows = s.find('tr.datagrid-row');
3: var rows1 = s.find('tr.datagrid-row td[field!=ck]');
4: rows1.unbind('click').bind('click',function(e){
5: return false;
6: });
-
- 我使用的easyui版本是1.3.4
- 分享一下小知識
- datagrid獲取剛選擇的行的行號代碼
var s = $('#dg1').datagrid('getSelected'); var index = $("#dg1").datagrid('getRowIndex',s); - 如果要獲取多行
var s = []; var index = []; s = $('#dg1').datagrid('getSelected'); for(var i=0; i<s.length; i++) { index.push($("#dg1").datagrid("getRowIndex",s[i])); } - 在調用onClickRow單擊事件之前,總會先調用onSelect和onUnSelect事件
- 其實可以通過console.log()來調試js程序,而不是用alert,因為console不會打斷程序的進行,可以瀏覽器的控制台進行查看,以下是firefox的控制台

- 以下是關於easayui中的this
var s= $("#dg1").datagrid('getPanel'); var rows = s.find('tr.datagrid-row'); var checkrows = rows.find('input[type=checkbox]'); $.each(checkrows,function(index,value){ console.log(this.checked); }這個程序會輸出所有的checkbox的值,即true or false,這里的this返回的是一個input object對象,所以可以直接調用this.property來獲取屬性值 - 關於getSelected獲取的值,其實getSelected獲取的值的樣式是{xx="xx",yy="yy"},所以要取某個屬性的值,只需要datagrid("getSelected").xx就行了
- datagrid獲取剛選擇的行的行號代碼
