【问题标题】:dynamic html from jQuery来自 jQuery 的动态 html
【发布时间】:2013-08-01 09:54:45
【问题描述】:

我有一个将 HTML 记录到 DIV 中的 JS 函数: $("#DivHtml").html('what i want...')

HTML 也有 <select>option 列表

选择有EVENT-onchange

此事件调用Jquery 函数 在哪里更改 HTML 并添加属性(DivHtml 中的 html)

但功能发生后,

我显示了 DivHtml 的 innerHTML,我看到 HTML 和我最初做的一样,

他没有从事件onchange中的函数改变 (我确定他参加了一个活动——我做了 ALERT)

为什么?

【问题讨论】:

  • 发布您的代码比解释您的需求要好。所以请发布您的相关代码。在您开始投票之前,大多数情况下这个问题都会被关闭..
  • 您的问题能不能说得更清楚些?我无法理解您到底需要什么。
  • 或者最好发个jsfiddle.net
  • 如何绑定更改事件?我猜不是使用$(document).on('change', '#DivHtml select', function(e){});
  • onchange 事件 isisnot 在您传递 HTML 时被触发?

标签: jquery html dynamic-html


【解决方案1】:

您需要 append 新的 html 或使用 .on(删除内联 onchange),例如:

$(document).on('change', '#selectID', function(){...});

PS:我想你的意思是<select>而不是<selection>

【讨论】:

    【解决方案2】:

    我想你是说当你通过html()更新div的内容时,你附加select的事件丢失了?如果是这种情况,原因是事件绑定的元素已从 DOM 中删除,并在其位置添加了一个新元素。

    最简单的解决方案是使用委托事件处理程序,像这样绑定到容器:

    // your HTML updating logic
    $("#DivHtml").html('what i want...')
    
    // select change handler
    $('#DivHtml').on('change', 'select', function() {
       alert('select value was changed');
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-12
      • 1970-01-01
      • 2018-03-06
      • 1970-01-01
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多