关于 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/