创建时间:在页面不能直接通过id直接获取选中的时间值
$("#search_createDate").val();//错误做法,获取不到值只能通过方法来获取
$('#search_createDate').datebox('getValue');//正确做法ComboBox下拉列表也一样,也要通过getValue方法来获取值。个人感觉easyui复杂的组件如果通过id的方式获取不到值时,可以考虑是否API提供了getValue方法来获取值。 2.window:窗口 修改窗口的title时不能通过xx.attr("title","xx")来实现,而是使用使用下面的形式
$('#window').panel({ title:"修改"});//将window的title改为"修改"3.datagrid:表格 问题一:datagtid初始化时加载两次
解决方法:去掉class=“easyui-datagrid”
原因:html代码中利用class声明了datagrid,导致easyUI解析class代码的时候先解析class声明中的datagrid,这样组件就请求了一次url;然后又调用js初始化代码请求一次url。这样导致了重复加载,解决的方法就是只用一种初始化方法来声明easyUI组件以避免重复的提交请求,即删除html中的class声明(class="easyui-datagrid") 即:<table id="DataGrid" class="easyui-datagrid"> 改为 <table id="DataGrid"> 参见: 问题二:datagrid多表头设计 datagrid清除表格中的数据: 1.使用deleteRow方法//从已选择列表移除$("#_remove").click(function() { //获取选中的记录 var rows = $("#center_selected_dg").datagrid("getSelections"); var len = rows.length; if (rows.length == 0) { $.messager.alert('Warning', '请先选择'); return; } else { var toDelRows = []; for (var i = 0; i < len; i++) { //toDelRows.push(rows[i]); toDelRows[i] = rows[i]; } for (var i = 0; i < toDelRows.length; i++) {//不能在上面的for循环中删除,因为每删一行,被删除行后面的行索引就发生变化了 var toDelRow = $("#center_selected_dg").datagrid("getRowIndex", toDelRows[i]); $("#center_selected_dg").datagrid("deleteRow", toDelRow); } }});2.使用重新加载空数据的方式
//清除表格数据 $('#center_selected_dg').datagrid('loadData', { total: 0, rows: [] });参见: 问题三:datagrid动态绑定列名和数据 (使用修改源码的方式) (使用扩展的方式) easyUI中判断是否选中了某几条记录。 (rows[]数组代表所有的记录,exists[]数组代表选中的记录)
public class Test { public static void main(String[] args) { int rows[] = { 1, 2, 3, 4, 5 }; int exists[] = { 2, 3 }; for (int i = 0 ; i < rows.length ; i++) { // 判断是否已存在 int j = 0; for (j = 0 ; j < exists.length ; j++) { System.out.println("i=" + i + " j=" + j); if (rows[i] == exists[j]) { System.out.println("rows[" + i + "]存在,i="+i+" j="+j+"当前不再与j比较"); break; } System.out.println("dics"); } if (j == exists.length) { System.out.println("rows[" + i + "]不存在"); } } }}