转自:http://www.ext.net.cn/forum.php?mod=viewthread&tid=11931

点击一个按钮就出现一行控件,点击删除控件就可将一行控件删除,这是不是你一直以来都想实现的需求呢?

本帖就来解答这个问题:

首先先放几个效果图,看你是不是需要这样的需求,如果是再往下看帖哦。

接下来是实现的方法:

  • 上面的第一张图(默认状态下)是在需要在前台布局的 代码如下

    1. <ext:Window ID="winEdit">
    2. Width="700" Hidden="true" Modal="true" Title="課件地址" AutoScroll="true" ButtonAlign="Center">
    3. <items>
    4. <ext:panel ID="pnl_urls">
    5. <content>
    6. <table>
    7. <tbody>
    8. <tr>
    9. <td>
    10. <ext:Label ID="lbl_url_txt">
    11. <ext:Button ID="btn_addurl">
    12. <Listeners>
    13. <Click Fn="newurl" />
    14. </Listeners>
    15. </ext:Button>
    16. </td>
    17. </tr>
    18. <tr>
    19. <td>
    20. <ext:Panel>
    21. <Items>
    22. <ext:TextField ID ="UrlName_1">
    23. </Items>
    24. </ext:Panel>
    25. </td>
    26. <td>
    27. <ext:Panel ID ="pnl_classurl">
    28. <items>
    29. <ext:TriggerField ID ="url_1">
    30. <Listeners>
    31. <TriggerClick Fn ="delurl" />
    32. </Listeners>
    33. </ext:TriggerField>
    34. </items>
    35. </ext:Panel>
    36. </td>
    37. </tr>
    38. </tbody>
    39. </table>
    40. </content>
    41. </ext:panel>
    42. </items>
    43. <buttons>
    44. <ext:Button ID ="btn_saveurls">
    45. <Listeners>
    46. <Click Handler ="SaveEdit()" />
    47. </Listeners>
    48. </ext:Button>
    49. <ext:Button ID ="btn_cancelurls">
    50. <Listeners>
    51. <Click Handler ="CancelEdit()" />
    52. </Listeners>
    53. </ext:Button>
    54. </buttons>
    55. </ext:Window>

    复制代码

  • 上面的第二张图(新增行状态下)是在页面上"新增课件地址"的按钮上家点击事件的完成的 js代码如下
    1. //新增課件地址文本框
    2. function>
    3. panel.doLayout();
    4. //課件標籤
    5. var>
    6. pnl.doLayout();
    7. var>
    8. var>
    9. var>
    10. var Nameid = "UrlName_" +>
    11. id:>
    12. trigger.setValue(ismark);
    13. }
    14. panel.insert(parseInt(items + 1),>
    15. label = "課件" + (parseInt(panel.items.items[items - 1].id.split('_')[1]) + 1).toString();
    16. }
    17. var>
    18. id: Nameid,
    19. fieldLabel: " ",
    20. labelWidth: 5,
    21. labelSeparator: " ",
    22. width: 100,
    23. value: label
    24. })
    25. pnl.insert(parseInt(items + 1), txt);
    26. pnl.doLayout();
    27. }

    复制代码

  • 上面的第三张图(删除状态下)是在页面新增完的行最右边的“X”点击事件完成的 js代码如下
    1. //移除課件地址文本框
    2. function>
    3. var>
    4. if (panel.items.length > 1) {
    5. panel.remove(el);
    6. panel.doLayout();
    7. pnl.remove(Ext.getCmp("UrlName_" +>
    8. var>
    9. if (panh <= "380") {
    10. if (winh >= "140") {
    11. Ext.getCmp("winEdit").setHeight(parseInt(Ext.getCmp("winEdit").getHeight()) - 25);
    12. }
    13. }
    14. }

    复制代码

[Ext.Net]动态生成控件(二)--js动态添加文本框的更多相关文章

  1. Silverlight动态生成控件实例

    刚学习Silverlight,做了一个动态创建控件的实例 实现结果:根据已有的控件类名称,得到控件的实例化对象 实现思路1:就是定义一个模板文件,将类名做为参数,在silverlight中使用Srea ...

  2. Asp.net web form 动态生成控件的注意事项

    Asp.net页面生命周期 页面初始化          Page_Init   加载View State      LoadViewState    回发数据处理      LoadPostData ...

  3. Asp.net中使用文本框的值动态生成控件的方法

    这篇文章主要介绍了Asp.net中使用文本框的值动态生成控件的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 看到一个网友,有论坛上问及,动态的生成checkbox控件,在文本框中输入一个“花 ...

  4. WPF: WrapPanel 容器的数据绑定(动态生成控件、遍历)

    原文:WPF: WrapPanel 容器的数据绑定(动态生成控件.遍历) 问题:        有一些CheckBox需要作为选项添加到页面上,但是数目不定.而为了方便排版,我选择用WrapPanel ...

  5. Winforn中使用代码动态生成控件

    场景 有时候需要根据配置文件在窗体中使用代码动态生成控件. 比如读取xml配置文件中的节点数量,然后在窗体中生成指定数量的RadioGroup控件. 实现 新建一个窗体,在窗体的加载完之后的事件中 p ...

  6. Unity UGUI动态生成控件

    一. 首先你得先清楚RectTransform组件的一些程序控制 1. 先得到UGUI控件上面的RectTransform组件 RectTransform rtr = gameObject.GetCo ...

  7. (五)ASP.NET中动态生成控件

    今天被问到如何在ASP.NET 页面中动态创建一批控件,并且希望在后续代码中能访问到这些动态创建的控件.我用下面的例子来解释这个问题 ================================= ...

  8. (四)动态生成控件,点击button添加控件

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. c# winform动态生成控件与获取动态控件输入的值

    差不多有2年没有写winform程序,一直都是写bs.最近项目需要,又开始着手写一个小功能的winform程序,需要动态获取xml文件的节点个数,生成跟节点个数一样的textbox, 最后还要获取操作 ...

随机推荐

  1. PHP 安全 E-mail

    PHP E-mail 注入 首先,请看上一章中的 PHP 代码: <html> <body> <?php if (isset($_REQUEST['email'])) / ...

  2. CSDN博客投票活动开始了

    自己坚持写博客,一方面是为了将自己对知识点的理解做一个总结,另一方面也是因为自己看到了很多无私奉献分享自己知识的小伙伴们,因此自己也想像他们那样尽自己微薄之力把自己对某一知识点的理解分享给大家,或许算 ...

  3. (译)openURL 在 iOS10中已弃用

    翻译自:openURL Deprecated in iOS10 译者:Haley_Wong 苹果在iOS 2 推出了 openURL:方法 作为一种打开外部链接的方式.而与之相关的方法 canOpen ...

  4. 【SSH系列】spring中为什么要使用IOC

    开篇前言 在前面的博文中,小编主要简单的介绍了spring的入门知识,随着学习的深入,我们知道spring最核心的两大技术,IOC和AOP,这两个技术也是spring最耀眼的地方,在后续的博文中小编将 ...

  5. 远程拷贝、查看端口、vim常见快捷键、查找替换命令、grep命令、查看存储空间的命令、chkconfig命令、系统自动启动级别、主机名配置、IP地址配置、域名映射、防火墙设置

    2.1.远程拷贝 (将/export/servers/hadoop上的文件拷贝到bigdate@192.168.1.1:/export/servers/ ) scp –r /export/server ...

  6. 全文检索概念,Lucene大致结构

    1.1 常见的全文检索 1) 在window系统中,可以指定磁盘中的某一个位置来搜索你想要得到的东西. 2) 在myeclipse中,点击Help->Help Contents,可以利用搜索功能 ...

  7. Linux--Web应用服务和MySQL数据库

     (1)  WWW是一种交互式图形界面的Internet服务,具有强大的信息连接功能,是 人们在网上查找.浏览信息的主要手段.它使得成千上万的用户通过简单的 图形界面就可以获取各个大学.组织.公司 ...

  8. T-SQL中的APPLY用法(半翻译)

    本文接上文:T-SQL 中的CROSS JOIN用法(半翻译) 同样可用于微软认证70-461: Querying Microsoft SQL Server 2012考试的学习中. --------- ...

  9. Dynamics CRM 电子邮件服务器配置文件Advanced配置中关闭SSL

    在新建电子邮件服务器配置文件时Advanced中的Use SSL for Incoming/Outgoing Connection默认都是启用的而且无法编辑,启用SSL当然是为了安全的考虑,但当客户的 ...

  10. 头部——MimeHeaders

    http协议的请求头部更像一个键值对,例如Content-Length : 123,前面为键后面为值,表示文本长度为123.对于若干个头部在请求对象中被封装成MimeHeaders对象,MimeHea ...