jQuery 事件绑定不适用于多个动态对象
jquery event binding not working with more than one dynamic object
在通过 AJAX 更改动态添加对象的下拉菜单中,添加或删除类。如果只有 1 个对象存在,则代码可以工作,但由于某种原因,多个对象会阻止它工作。
$('.product_options_container').on('change', '.product_preset_dropdown', function() {
var conceptName = $(this).closest('.product_option_hidden').children('.product_preset_dropdown').find(":selected").text();
if(conceptName != 'custom'){
$(this).closest('.product_option_hidden').children('.product_encapsulation').addClass("hidden");
}
else if(conceptName == 'custom'){
$(this).closest('.product_option_hidden').children('.product_encapsulation').removeClass("hidden");
}
});
标记
// DIV CONTAINER AJAX IS LOADED TO
<div id="dynamicInputs" class="dynamicInputs"></div>
// AJAX FILE LOADED
<div class='product_option_hidden'>
<div class="product_preset_inner">
<div class="product_preset_inner_border">
<div class="product_preset_dropdown_container">
<select class="product_preset_dropdown">
<option value="custom">custom</option>
<option value="preset">preset</option>
<option value="preset2">preset 2</option>
</select>
</div>
</div>
</div>
<div class="product_encapsulation">
//other content here
</div>
</div>
问题是
var conceptName = $(this).closest('.product_option_hidden').children('.product_preset_dropdown').find(":selected").text();
正在为添加的每个附加对象添加额外的自定义字符串输出,更改为以下以工作
var conceptName = $(this).closest('.product_preset_dropdown').find(":selected").text();
相关文章:
- 使用推动创建动态对象
- 在主要的JavaScript引擎中,在JavaScript关联数组(动态对象属性)中检索/插入的复杂性是多少
- 从表单到 Ajax 的动态对象访问
- JavaScript node.js 中 pug (jade) 模板上的动态对象键
- 动态对象遍历与 NodeJS
- 在JS中创建动态对象
- jQuery param动态对象名称
- 访问动态对象:javascript/jquery
- JavaScript 动态对象范围
- 如何在 QML 中发生相同事件后创建/销毁动态对象
- 创建动态对象(作为函数(..))
- 如何在 JavaScript 中制作动态对象
- jQuery 事件绑定不适用于多个动态对象
- 将静态对象转换为动态对象
- 访问多个动态对象 jQuery
- Javascript - 类型不适用于动态对象
- Javascript-动态对象键(第二个键)
- 用javascript为数组创建动态对象
- JavaScript动态对象键ejs
- 在jQuery中的动态对象上使用.each