jQuery 在克隆选择选项后获取数据 ID
jQuery get the data id after cloned select options
在html标记中,我有一个简单的选择选项标签。使用 jQuery,我在更改选项时获取数据 ID,并且工作正常。但我也有克隆选择选项的按钮。对于克隆的元素,在更改时执行警报数据 ID 不起作用。这是我的标记和 js 代码
网页代码
<table>
<tr class="resource-data">
<td>
<select name="product" class="product-name">
<option value="apple" data-id="apple">Apple</option>
<option value="bus" data-id="bus">Bus</option>
<option value="car" data-id="car">Car</option>
<option value="duster" data-id="duster">Duster</option>
</select>
</td>
</tr>
</table>
<button type="button" class="btn btn-success pull-right add-new-data"> Add </button>
JS代码
<script type="text/javascript">
jQuery(document).ready(function(){
var FirstRow = jQuery("table tr.resource-data:first").clone();
jQuery('body').on('click','.add-new-data', function() {
var ParentRow = jQuery("table tr.resource-data").last();
FirstRow.clone().insertAfter(ParentRow);
});
jQuery('select.product-name').on('change', function(e) {
id = $(this).find("option:selected").data('id');
alert(id);
});
});
</script>
这也是小提琴链接。那么有人可以告诉我如何提醒克隆的数据 ID 吗?任何帮助和建议都将非常可观。谢谢
您需要使用事件委派将事件附加到动态添加的元素:
jQuery('body').on('change','select.product-name', function(e) {
id = $(this).find("option:selected").data('id');
alert(id);
});
工作演示
仅供参考,您还可以使用 .clone(true)
,true 也会复制事件处理程序。
下面是修改/更新的代码。
jQuery(document).ready(function () {
jQuery('select.product-name').on('change', function (e) {
id = $(this).find("option:selected").data('id');
alert(id);
});
var FirstRow = jQuery("table tr.resource-data:first").clone(true);
jQuery('body').on('click', '.add-new-data', function () {
var ParentRow = jQuery("table tr.resource-data").last();
FirstRow.insertAfter(ParentRow);
});
});
小提琴
相关文章:
- Ajax-如何获取数据
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- 从数据库中获取数据并插入JavaScript变量
- 从单击的行上的列中获取数据
- Solr查询以按日期月份获取数据&年
- React路由器服务器端渲染和ajax获取数据
- 使用JavaScript在IE9中获取数据列表选项
- 从json子数组获取数据
- 使用angularjs中的rest调用通过id获取数据
- 正在从ruby应用程序中的数据库中获取数据
- 如何从servlet获取数据到ajax成功
- 从选择下拉菜单中获取数据
- 异步获取数据使用JavaScript同步获取数据
- 从服务器获取数据并在选择控件中使用ng选项无法显示选项
- 如何在Angular.js中循环动态添加Fields并获取数据并将其发送到服务器
- JavaScript-获取数据属性的值返回未定义的值
- 如何从文本区域获取数据并使用javascript进行解密
- 在put方法之前从作用域获取数据
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么