页面加载后动态添加新的div

用户3378165

在我看来,我可以选择添加用户,每个用户user都是一个带有几个字段的 div:

<div>
    <input data-bind="value: name" />
    <input data-bind="value: position" />
    <input data-bind="value: email" /></div>
    <button data-bind="click: function(){ $root.addUser()}">SAVE</button>
</div>

此 div 是通过单击按钮添加的,并且在页面加载时不存在。

当我尝试通过单击“保存”按钮来保存新用户时,它不起作用,没有任何反应,它只是忽略了我的单击。

所以我的问题是 - 如何data-bind在动态生成的元素上进行淘汰赛

我在网上阅读了一些帖子,但找不到解决方案,任何帮助将不胜感激。

Users.js 脚本:

var User = function (data) {
    this.name= ko.observable(data.name);
    this.position= ko.observable(data.position);
    this.email= ko.observable(data.email);
}
self.users = ko.observableArray([]);
self.addUser= function () {
  console.log("test");   
}

这是添加 div 的代码Users.ui.js

$('body').on('click', '.add', function () {
        var strClientSecHtml = "<div class=\"sec\"><div class=\"secIn\">\n...
        $(strClientSecHtml).insertBefore($(this).closest('.sec'));
        showPrimaryLbl();
})
杰森说话

如果您创建动态内容以便拥有元素引用,则可以将一组新绑定应用于动态内容。

$('body').on('click', '.add', function () {
        var strClientSecElem = $('<div class=\"sec\"><div class=\"secIn\">\n...');
        $(this).closest('.sec').before(strClientSecElem);
        ko.applyBindings(new User({}), strClientSecElem.get(0)); //get the native element from jQelement
        showPrimaryLbl();
})

话虽如此,通过淘汰赛,您通常希望修改您的javascript对象,并将 DOM 修改留给库,而不是动态插入 html。您可以将一个新的 User 对象推送到 users 数组,foreach:users绑定将负责在 DOM 中创建新元素。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更改页面加载后动态添加的元素的onclick处理程序

来自分类Dev

加载页面后如何在div中添加html?

来自分类Dev

重新加载页面后打开新标签

来自分类Dev

在div中加载动态php生成的页面

来自分类Dev

页面加载后添加jQueryMobile元素

来自分类Dev

添加/删除类后无法加载页面

来自分类Dev

加载后动态添加类似按钮的facebook

来自分类Dev

Ckeditor-在div上加载页面后添加ckeditor(contenteditable =“ true”)

来自分类Dev

Ckeditor-在div上加载页面后添加ckeditor(contenteditable =“ true”)

来自分类Dev

页面加载后如何删除或隐藏div

来自分类Dev

页面重新加载后显示div

来自分类Dev

页面正确加载后检查div属性

来自分类Dev

编辑引导程序模板,动态添加jarvisWidget,并在页面已全部加载后重新生成窗口小部件

来自分类Dev

使用jQuery动态加载内容后,避免页面刷新

来自分类Dev

在php页面加载后使用Ajax动态呈现表值

来自分类Dev

添加div后,值进入新行

来自分类Dev

在新标签页中加载页面后调用函数

来自分类Dev

在新标签页中加载页面后调用函数

来自分类Dev

加载页面后,在Foundation交换中添加新规则

来自分类Dev

如何使用jQuery在页面加载后以数字添加逗号格式

来自分类Dev

页面加载后如何添加ng-app?

来自分类Dev

.on()无法与页面加载后添加的HTML一起使用

来自分类Dev

页面加载后如何添加ng-app?

来自分类Dev

页面加载后添加的元素上的jQuery触发器

来自分类Dev

使用jQuery选择在页面加载后添加的元素

来自分类Dev

在 EventListener 中无法识别页面加载后添加的按钮

来自分类Dev

获取加载页面后添加的单选按钮的值

来自分类Dev

如何通过javascript在页面加载后添加表格的行?

来自分类Dev

您如何保留网站的“主题”并添加新的动态页面?

Related 相关文章

  1. 1

    更改页面加载后动态添加的元素的onclick处理程序

  2. 2

    加载页面后如何在div中添加html?

  3. 3

    重新加载页面后打开新标签

  4. 4

    在div中加载动态php生成的页面

  5. 5

    页面加载后添加jQueryMobile元素

  6. 6

    添加/删除类后无法加载页面

  7. 7

    加载后动态添加类似按钮的facebook

  8. 8

    Ckeditor-在div上加载页面后添加ckeditor(contenteditable =“ true”)

  9. 9

    Ckeditor-在div上加载页面后添加ckeditor(contenteditable =“ true”)

  10. 10

    页面加载后如何删除或隐藏div

  11. 11

    页面重新加载后显示div

  12. 12

    页面正确加载后检查div属性

  13. 13

    编辑引导程序模板,动态添加jarvisWidget,并在页面已全部加载后重新生成窗口小部件

  14. 14

    使用jQuery动态加载内容后,避免页面刷新

  15. 15

    在php页面加载后使用Ajax动态呈现表值

  16. 16

    添加div后,值进入新行

  17. 17

    在新标签页中加载页面后调用函数

  18. 18

    在新标签页中加载页面后调用函数

  19. 19

    加载页面后,在Foundation交换中添加新规则

  20. 20

    如何使用jQuery在页面加载后以数字添加逗号格式

  21. 21

    页面加载后如何添加ng-app?

  22. 22

    .on()无法与页面加载后添加的HTML一起使用

  23. 23

    页面加载后如何添加ng-app?

  24. 24

    页面加载后添加的元素上的jQuery触发器

  25. 25

    使用jQuery选择在页面加载后添加的元素

  26. 26

    在 EventListener 中无法识别页面加载后添加的按钮

  27. 27

    获取加载页面后添加的单选按钮的值

  28. 28

    如何通过javascript在页面加载后添加表格的行?

  29. 29

    您如何保留网站的“主题”并添加新的动态页面?

热门标签

归档