javascript - jQuery on 函数没有在 mustache 中触发?

标签 javascript jquery mustache

我正在使用 $(Mustache.to_html 在我的网页上呈现模板 - 如果我检查页面上呈现的实际 html,如下所示:

<script id="myTemplate" type="text/x-template">
<tr data-name="{{name}}">
    <td>
    <select id="titlesDropDown" name="SelectedTitleId"><option value="">--Select Title--</option>
    <option value="1">Mr</option>
    <option value="2">Miss</option>
    <option value="3">Mrs/Corporate</option>
    <option value="4">Dr</option>
    </select>
    </td>
    <td>{{name}}</td>
    <td><input type="text" name="Age" value=""/></td>
</tr>
</script>

我遇到的问题是我想在标题下拉列表更改时触发一个函数。在文档准备中,我添加了以下内容:

$(document).ready(function () {   
    $('#titlesDropDown').on('change', function () {           
        alert('Dropdown change fired');
    });
});

我还需要做些什么才能将更改事件连接到 mustache 渲染模板吗?

最佳答案

在这里,您正在使用委托(delegate),但它又是在动态生成的节点上。

试试这个:

 $(document).on('change', ''#titlesDropDown'', function () { 

或者,您也可以将 document 替换为加载时 DOM 中存在的元素。

关于javascript - jQuery on 函数没有在 mustache 中触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28131303/

相关文章:

javascript - 向 mustache/php 添加条件

javascript - 加载完所有内容后如何将javascript添加到JBrowse

javascript - Jquery填充多个具有相同名称的选择框

typescript - 输入安全的 mustache 模板

jquery - 如何将焦点处理程序添加到 <form> 中的所有 &lt;input >'s and <select>' s

javascript - jQuery 检查电子邮件地址是否是数组元素中字符串的一部分

javascript - 在 mustache JS 中填充和选择一个选择框

javascript - 如何在调整 Canvas 大小时防止 HTML5 Canvas 线宽发生变化。

Javascript 循环在递归中丢失上下文

javascript - Rails `link_to` 方法多次发布