easy ui 实现增加一行,里面的comcobox 等无效

KUkaKaaa 2015-09-21 02:39:46
,这是一个table , 里面你的每一行是几个可以选择的下拉框, data 是从数据库加载的, 现在我想 用一个增加按钮,点击可以自动增加一行,但是
var currObj = $('#multiply_task_search_table'); currObj.find('tr:last').clone().appendTo(currObj);
这样子的话,新增加的那些 combobox都没有效果了,我试着对新增加的这些重新进行comcobox 的数据加载等初始化,但是不会对clone的 产生效果, 而是在这些comcobox 后面再增加一个comcobox 。。。。。。。。

{
text : '增加一行',
iconCls : 'icon-add',
handler : function() {
var currObj = $(
'#multiply_task_search_condition')
.find('table');
// console.info(currObj);
alert(currObj.find('tr:last').index());
currObj.find('tr:last').clone()
.appendTo(currObj);
var selectSearchColumn = currObj
.find('tr:last')
.find("select[name='searchColumnNames']");

var selectConditions=currObj
.find('tr:last')
.find("input[name='searchConditions']");

var selectValues=currObj
.find('tr:last')
.find("input[name='searchVals']");
alert(currObj.find('tr:last').index());



$(selectConditions).combobox({
editable : false,
data : select_condition_data_staff,
width : 60,
valueField : 'id',
textField : 'title',
value : '='
});
$(selectValues).combobox({
data : staffData,
width:170,
valueField : 'email',
textField : 'name',
filter: function (q, row) {
var re = new RegExp(q, 'i');
return re.test(row.name);
}
});
$(selectSearchColumn).combobox({
width : 120
});
}
}



这个问题怎么解决, 我哪里写错了么, 求各位大大给个解决的方法,或者实现这个功能的一些想法建议等
...全文
180 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
NANU-NANA 2015-09-21
  • 打赏
  • 举报
回复
引用 4 楼 yiiy22 的回复:
[quote=引用 3 楼 u010087908 的回复:] 每一行单独做成一个panel, 初始化这个table的时候添加一个panel, 以后每按一次“增加按钮”,就再添加一个panel。 table的layout可以是form,vbox或absolute等, margin按自己审美设一下。
table 怎么把这个 Panel 添加进去?[/quote] 我以为是tablepanel。没用过easyui,只是提供个思路。
KUkaKaaa 2015-09-21
  • 打赏
  • 举报
回复
引用 3 楼 u010087908 的回复:
每一行单独做成一个panel, 初始化这个table的时候添加一个panel, 以后每按一次“增加按钮”,就再添加一个panel。 table的layout可以是form,vbox或absolute等, margin按自己审美设一下。
table 怎么把这个 Panel 添加进去?
NANU-NANA 2015-09-21
  • 打赏
  • 举报
回复
每一行单独做成一个panel, 初始化这个table的时候添加一个panel, 以后每按一次“增加按钮”,就再添加一个panel。 table的layout可以是form,vbox或absolute等, margin按自己审美设一下。
KUkaKaaa 2015-09-21
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
你clone没用啊,这个只生成了cb的ui显示对象,下拉对象并没有clone出来,不在同一个容器里面的(包括这行的tr) 你调用datagrid的appenRow后,然后直接beginEdit这行就好了,干嘛要clone
这个要怎么用的, 我不是很清楚,能详细说下么, beginEdit 是这个节点进入编辑状态,然后直接添加上面的 <td>......</td> ? 那如果要 初始化这些下拉对象, 是不是和我上面那样写的就可以了。
Go 旅城通票 2015-09-21
  • 打赏
  • 举报
回复
你clone没用啊,这个只生成了cb的ui显示对象,下拉对象并没有clone出来,不在同一个容器里面的(包括这行的tr) 你调用datagrid的appenRow后,然后直接beginEdit这行就好了,干嘛要clone
1.数据网格(datagrid)有两种方法来读取选中行数据: 1.getSelected:取得第一个选中行数据,如果没有选中行,则返回 null,否则返回记录。 2.getSelections:取得所有选中行数据,返回元素记录的数组数据。 2.创建表格 jQuery Easy UI 使用 jQuery Easy UI jQuery Easy UI 搭建 jQuery Easy UI 第一步

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧