javascript - JQuery:选择跟踪的元素更改,但不跟踪它们的值!

标签 javascript jquery

我刚刚得到一个问题的答案,却陷入了另一个陷阱!

我有一个表格,位于 lightbox 中我想跟踪选择元素中的每个变化。当它们发生变化时,我想获取每个选择元素的值。我尝试执行以下操作:

$('select.htt, select.hst').live('change', function() {
    var channels = parseInt($('select.hst').val(), 10) * parseInt($('select.htt').val(), 10);
    alert($('select.hst').val() + ' and ' + $('select.htt').val());         
    $('span.yellow2').html(channels);
});

但是,即使选择了其他选项,这些值始终相同,即每个下拉框中的第一个选项。我猜就像之前有人解释过的那样。我正在使用的灯箱获取这些元素的副本并对它们进行更改,而 JQuery 无法看到这一点,但我被告知要通过类引用这些元素,这些类已经起作用,但仅限于此。

我还可以尝试什么?问题是什么?

我真的很感谢任何帮助。

谢谢大家

最佳答案

问题的原因是您有两个(或更多)select 元素的副本。当您调用 $('select.hst').val() 时,jQuery 返回具有类 hst 的第一个 select 元素的值它发现,这不是您想要的值。

您必须找到一种方法将 jQuery 选择器的范围限制为仅可见 lightbox div 内的元素。如果灯箱 div 有 id 或其他一些唯一属性,请使用它来确定表单/选择/跨度元素的范围。

如果灯箱 div 的 ID 为“lightbox”:

<div id="lightbox">
...
</div>

使用以下形式的选择器:

$('#lightbox select.hst').val();

关于javascript - JQuery:选择跟踪的元素更改,但不跟踪它们的值!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1551728/

相关文章:

保存子数组的 Javascript 数组键

javascript - 谷歌地图边界不准确

javascript - Meteor, $ 在客户端定义但不在服务器上定义

javascript - 如何更改图像宽度以填充所有容器,或将其居中对齐?

javascript - 当鼠标停止时停止jquery效果

javascript - 尝试在播放时向音频添加歌曲描述

javascript - for 循环中的 jQuery .append()

javascript - React Props 在确认页面中无法正确显示信息

javascript - 带缩略图的多图像查看器

JavaScript - 当我更改链接的 href 时未定义链接