我编写了一个运行良好的函数,但是当我尝试在具有相同类的多个 html 块上重用它时,它会中断。我尝试使用.next()
and.closest()
方法但没有结果。我在哪里应用这些?<select>
该功能是通过使用无序列表重新创建下拉列表。
重要的是,类和函数与由 CMS 生成的列表保持一致并且可以是一个页面多次,因此有一个解决方案让我更改代码并单独调用每个函数并不好..
演示
下拉菜单工作正常(功能在一个无序列表上工作正常)
下拉中断(重用函数和 html 代码时)
您的脚本有许多需要更改的地方。这应该可行,尽我所能理解你想要做什么。
重点是这样的:
$(".cloned").click(function(){
$('.options').toggle();
e.preventDefault();
});
处理程序中的$('.options')
选择器选择所有具有该类的元素options
,而不管您在文档中单击的位置。这就是为什么每个下拉菜单都会在点击时激活。
您应该只为点击选择特定.options
元素。有很多方法可以做到这一点,但这就是我所做的:
$(this).next('.options').toggle();