javascript - jQuery 收集了 2 个数据点,即使只分配了一个

标签 javascript jquery variables

关于 jQuery 中的 .data() 的快速问题:我的变量“valone”进入一些 HTML 中的下拉菜单,用于下拉菜单中的“data-whatever”值,然后将其插入jQuery 等式。但它似乎也从下拉列表中获取“选项值”值并以某种方式将其包含在数学中,即使我没有指定它这样做......

var valone = $('#os0 option:selected').data('whatever');

我是否在这个 .data() 函数中遗漏了什么?还是我有一些不必要的额外东西? (我在下面有完整的 jQuery 和 HTML。)

jQuery

$(document).ready(function(){
var valone = $('#os0 option:selected').data('whatever');
var valtwo = $('#os1').val();
var valthree = $('#os2').val();
var total = ((valone * 1) * (valtwo * 1) * (valthree * 1));
$('.calc').each(function(){
if($(this).val() != '')
{
total += parseInt($(this).val());
}
});

HTML

<select style="width: 190px;" class="calc"
name="os0" id="os0" type="text">
<option value="250" data-whatever="5">250
</option>
<option value="500" data-whatever="6">500 </option>
<option value="1000" data-whatever="7">1000
</option>
<option value="2000" data-whatever="8">2000
</option>
<option value="5000" data-whatever="9">5000
</option>
</select>

如有任何帮助或建议,我们将不胜感激!

最佳答案

.data 正在检索正确的值。这件作品出现问题:

$('.calc').each(function(){
    if($(this).val() != '')
    {
        total += parseInt($(this).val());
    }
});

变量 total 是在这一点之上计算的,这正是您所期望的。 .each 再次遍历每个 select 元素并将所选值添加到总数中。

关于javascript - jQuery 收集了 2 个数据点,即使只分配了一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6686602/

相关文章:

Javascript 将数字添加为字符串

c - 如何在 C 中的字符串中设置变量占位符

javascript - 在 React 中使用 Lodash debounce 来防止在用户输入时请求数据

jquery - 如何在使用 CSS、JQuery 为 HTML 中的对象设置动画时指定要遵循的路径

jquery - Bootstrap 3.3.7 - 轮播不显示标有类的 div 内容 - 'item'

javascript - 在 Kendo UI 中将网格 pageSize 设置为变量

javascript - 匿名函数中的静态变量

javascript - 通过JS添加类

javascript - mongodb 日期 蒙古死牛肉

javascript - 努力让悬停的第 n 个 child 在 IE 中工作