【问题标题】:How to implement JavaScript function on the DOM html form <select> element loaded from AJAX如何在从 AJAX 加载的 DOM html 表单 <select> 元素上实现 JavaScript 功能
【发布时间】:2018-11-02 05:25:30
【问题描述】:

我正在尝试获取 HTML 的编辑表单,其中我有一个类名为 class="selectpicker" 的选择标签,我需要在表单之后加载“bootstrap-select.js”。如果我从同一页面调用表单标签,它工作正常。但是现在,当我在按下编辑按钮时尝试使用 Ajax 调用它时,JavaScript 属性不适用于标签,因为在开始执行上述 JavaScript 文件后它正在加载。我该如何解决这个问题?

<select 
  class="selectpicker"  
  name="keyword[]" 
  id="keyword[]" 
  data-placeholder="Start typing... " 
  style="width: 100%;" 
  multiple  
  required
>
  <option>Dance</option>
  <option>Music</option>
  <option>Sports</option>
  <option>Poster</option>
</select>

【问题讨论】:

  • 你能用你的代码解释更多吗?
  • AJAX 是否意味着您正在通过 AJAX 将 &lt;select&gt; 元素加载到页面中,并且选择列表未显示为引导选择选择器?
  • 是的@BrianMains 你是对的!同样的问题,因为我正在获取
  • OK 在那种情况下,在选择元素的 AJAX 加载后,您必须重新注册插件,手动使用 API 函数。
  • @BrianMains 老兄怎么办?我需要手动调用该函数吗?

标签: javascript jquery ajax


【解决方案1】:

'change' 事件将通过 DOM 冒泡。我假设您将获取的 HTML 放入某种容器中,是吗?在容器上放置一个 'change' 事件监听器:

container.addEventListener('change', function(e){
    if (e.target.tagName == 'select' && e.target.classList.contains('selectpicker'))
        doSomething();
});

【讨论】:

  • 用jQuery变成container.on('change', 'select.selectpicker', doSomething);
  • 我将整个 html 表单放入
  • so var container = document.getElementById("create_event_popup"); 然后继续剩下的。
  • 你能说得更具体点吗...?
猜你喜欢
  • 2020-10-30
  • 1970-01-01
  • 2013-05-15
  • 1970-01-01
  • 2021-12-27
  • 1970-01-01
  • 2015-06-07
  • 1970-01-01
  • 2012-05-18
相关资源
最近更新 更多