选择克隆元素上的选项逻辑
每当从我的下拉选择中选择“volume”时,下面的 JQuery 就会显示一个隐藏的 div。问题是,当我克隆包装下拉列表的 div 时,逻辑仅适用于原始 div,隐藏的 div 显示在原始和克隆的 div 下方。
当我从克隆元素中选择“卷”时,没有任何反应。
$('.hiddenBreak').hide();
$('select.discount').change(function(){
if ($('.discount').val() == 'volume') {
$('.hiddenBreak').slideToggle('medium');
} else {
$('.hiddenBreak').slideUp('fast');
};
});
<div>
<select class="discount">
<option value="volume">Volume</option>
<option value="nothing">Nothing</option>
</select>
</div>
<div class="hiddenBreak">
Message goes here
</div>
The JQuery below displays a hidden div whenever "volume" is selected from my drop-down select. The problem is when I clone the div that wraps the drop-down, the logic only works on the original div and the hidden div gets displayed underneath the original and cloned divs.
Nothing happens when I select "volume" from my cloned element.
$('.hiddenBreak').hide();
$('select.discount').change(function(){
if ($('.discount').val() == 'volume') {
$('.hiddenBreak').slideToggle('medium');
} else {
$('.hiddenBreak').slideUp('fast');
};
});
<div>
<select class="discount">
<option value="volume">Volume</option>
<option value="nothing">Nothing</option>
</select>
</div>
<div class="hiddenBreak">
Message goes here
</div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个:
我认为里面有
.toggleSlide()
可能会让你感到困惑。另外,
$('hiddenBreak').hide();
行可能没有执行任何操作,如果您想隐藏该 div,则需要将其替换为$('. hiddenBreak').hide();
Try this instead:
I think having
.toggleSlide()
in there might be messing you up.Also the line
$('hiddenBreak').hide();
is probably not doing anything, if you want to hide that div, you'll need to replace that with$('.hiddenBreak').hide();
您需要使用 live 来解决此问题,我认为您的绑定发生在创建克隆元素之前。
You need to use live to fix this I think as your binding happens before the creation of the cloned element.