jQuery MiniUI

 找回密码
 立即注册
查看: 1474|回复: 4
打印 上一主题 下一主题

找不到联动对象? [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2017-4-28 10:37:25 |只看该作者 |倒序浏览
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns='http://www.w3.org/1999/xhtml'>
  3. <head>
  4.     <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
  5.     <title></title>
  6.     <script src="../scripts/boot.js" type="text/javascript"></script>
  7.     <style>
  8.         
  9.     </style>
  10. </head>
  11. <body>
  12.    <a class="mini-button"        iconCls="icon-ok" onclick="newrecord">新增</a>
  13.     <div class="mini-datagrid" id="datagrid1" style="height: 280px; width: 600px" allowCellSelect="true"
  14.      allowCellEdit="true">
  15.         <div property="columns">
  16.             <div displayfield="name" width="100" field="id" headeralign="center">
  17.                部门<input property="editor" class="mini-combobox" url="data/AjaxService.jsp?method=GetDepartments" showNullItem="true"
  18.                     style="width: 100%;" textfield="name" id="deptCombo" valuefield="id" multiselect="false"
  19.                     onvaluechanged="onDeptChanged"  />
  20.             </div>
  21.             <div displayfield="name" field="id" width="100"   headeralign="center">
  22.                职位<input property="editor" class="mini-combox" id="positionCombo" textfield="name"  multiselect="false"  showNullItem="true"  valuefield="id" style="width: 100%;" />
  23.             </div>
  24.      
  25.         </div>
  26.     </div>
  27. </body>
  28. </html>
  29. <script type="text/javascript">
  30.         mini.parse();

  31.         var grid = mini.get("datagrid1");
  32.        
  33.         function newrecord(){
  34.                 var grid = mini.get("datagrid1");
  35.                 var row = {};
  36.             grid.addRow(row, 0);
  37.                 //grid.load();
  38.         }

  39.        
  40.      function onDeptChanged(e) {
  41.             var grid = mini.get("datagrid1");
  42.         var editor = e.sender;
  43.         var row = grid.getEditorOwnerRow(editor);
  44.         var did = e.value;
  45.         var rowIndex = row._uid;
  46.         var position = grid.getCellEditor(1, rowIndex);
  47.         
  48.         position.setValue("");
  49.         
  50.                 var url = "data/AjaxService.jsp?method=GetPositionsByDepartmenId&id=" + did;
  51.                 position.setUrl(url);
  52.                 position.select(0);
  53.     }
  54. </script>
复制代码
倒数第9行:var position = grid.getCellEditor(1, rowIndex);     TypeError: position is null。
我哪里写错了?

Rank: 8Rank: 8

沙发
发表于 2017-4-28 10:58:55 |只看该作者
单元格编辑模式,联动请参考我们实例
http://www.miniui.com/demo/#src=datagrid/celllinkedit.html
第一列编辑的时候,第二列的编辑器还不存在,获取不到

Rank: 3Rank: 3

板凳
发表于 2017-4-28 11:07:01 |只看该作者
dforce 发表于 2017-4-28 10:58
单元格编辑模式,联动请参考我们实例
http://www.miniui.com/demo/#src=datagrid/celllinkedit.html
第一列 ...

谢谢!已经找到这个示例了。但是新增行还是有问题。
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns='http://www.w3.org/1999/xhtml'>
  3. <head>
  4.     <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
  5.     <title></title>
  6.     <script src="../scripts/boot.js" type="text/javascript"></script>
  7.     <style>
  8.         
  9.     </style>
  10. </head>
  11. <body>
  12.    <a class="mini-button"        iconCls="icon-ok" onclick="newrecord">新增</a>
  13.     <div class="mini-datagrid" id="datagrid1" style="height: 280px; width: 600px" allowCellSelect="true"
  14.      allowCellEdit="true"  oncellcommitedit="OnCellCommitEdit"   oncellbeginedit="OnCellBeginEdit">
  15.         <div property="columns">
  16.             <div field="dept_id" displayField="dept_name" width="100" headeralign="center">
  17.                部门<input property="editor" class="mini-combobox" url="data/AjaxService.jsp?method=GetDepartments" showNullItem="true"
  18.                     style="width: 100%;" textfield="name"  valuefield="id" multiselect="false" />
  19.             </div>
  20.             <div field="position"  displayField="position_name" width="100"   headeralign="center">
  21.                职位<input property="editor" class="mini-combox"  textfield="name"  multiselect="false"  showNullItem="true"  valuefield="id" style="width: 100%;" />
  22.             </div>
  23.      
  24.         </div>
  25.     </div>
  26. </body>
  27. </html>
  28. <script type="text/javascript">
  29.         mini.parse();

  30.         var grid = mini.get("datagrid1");
  31.        
  32.         function newrecord(){
  33.                 var grid = mini.get("datagrid1");
  34.                 var row = {};
  35.             grid.addRow(row, 0);
  36.                 //grid.load();
  37.         }

  38.         function OnCellCommitEdit(e) {
  39.         var grid = e.sender;
  40.         var record = e.record;
  41.         var field = e.field, value = e.value;
  42.         if (field == "dept_id") {                 
  43.             grid.updateRow(record, { position: "", position_name: "" });
  44.         }
  45.     }
  46.     function OnCellBeginEdit(e) {        
  47.         var grid = e.sender;
  48.         var record = e.record;
  49.         var field = e.field, value = e.value;
  50.         var editor = e.editor;
  51.         if (field == "position") {
  52.             var id = record.dept_id;
  53.             console.log(id);
  54.             if (id) {
  55.                 var url = "data/AjaxService.jsp?method=GetPositionsByDepartmenId&id=" + id;
  56.                 editor.setUrl(url);
  57.             } else {
  58.                 e.cancel = true;
  59.             }

  60.         }
  61.     }
  62. </script>
复制代码
TypeError: editor is null  。

这是什么问题?源数据没有的问题吗?如何处理?谢谢!

Rank: 8Rank: 8

地板
发表于 2017-4-28 12:23:25 |只看该作者
cxhold 发表于 2017-4-28 11:07
谢谢!已经找到这个示例了。但是新增行还是有问题。TypeError: editor is null  。

这是什么问题?源数 ...

第二列你编辑器拼错单词了 mini-combobox

Rank: 3Rank: 3

5#
发表于 2017-4-28 12:42:56 |只看该作者
dforce 发表于 2017-4-28 12:23
第二列你编辑器拼错单词了 mini-combobox

牛B,你是怎么看出来的!

Archiver|普加软件

GMT+8, 2024-7-2 22:16 , Processed in 1.064382 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部