转自: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. Java内存泄漏分析系列之七:使用MAT的Histogram和Dominator Tree定位溢出源

    原文地址:http://www.javatang.com 基础概念 先列出几个基础的概念: Shallow Heap 和 Retained Heap Shallow Heap表示对象本身占用内存的大小 ...

  2. Elasticsearch+Hbase实现海量数据秒回查询

    ---------------------------------------------------------------------------------------------[版权申明:本 ...

  3. Linux测量kernel子模块加载时间的方法

    1. 在文件kernel/init/main.c里面,在接口do_one_initcall( )中,将initcall_debug设置为true,然后编译boot.img 2. 使用adb shell ...

  4. Android Studio精彩案例(二)《仿微信动态点击底部tab切换Fragment》

    转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 现在很多的App要么顶部带有tab,要么就底部带有tab.用户通过点击tab从而切换不同的页面(大部分情况时去切换fragment). ...

  5. Android底层开发经验

    最近看到一个博客,他的博文虽然是转载的,但源作者肯定对底层的理解可谓是非常透彻,一副思维导图就可以将整个重要体系建立起来,非常适合大家学习.学习不单单只要有代码,生动有趣更重要.在此推荐一波: htt ...

  6. mxgraph进阶(四)mxGraph再启程

    mxgraph进阶(四)mxGraph再启程 前言   小论文Constructing User Interaction Behaviors Net from System Log. (AICE 20 ...

  7. springMVC源码分析--ControllerClassNameHandlerMapping(九)

    在上一篇博客springMVC源码分析--AbstractControllerUrlHandlerMapping(六)中我们介绍到AbstractControllerUrlHandlerMapping ...

  8. springMVC源码分析--异常处理机制HandlerExceptionResolver执行原理(二)

    上一篇博客springMVC源码分析--异常处理机制HandlerExceptionResolver简单示例(一)中我们简单地实现了一个异常处理实例,接下来我们要介绍一下HandlerExceptio ...

  9. 字符编码(ASCII、ANSI、GB2312、UTF-8等)系统梳理

    引言 在显示器上看见的文字.图片等信息在电脑里面其实并不是我们看见的样子,即使你知道所有信息都存储在硬盘里,把它拆开也看不见里面有任何东西,只有些盘片.假设,你用显微镜把盘片放大,会看见盘片表面凹凸不 ...

  10. Android Studio基本配置

    主题设置 File→Settings- 添加第三方主题 网址:http://www.ideacolorthemes.org/home/ File→Import Settings- 设置控制台字体大小 ...