我陷入了隐藏/显示div并计算总价格。让我们说我有一个divA和divB。现在,当div A可见时,菜单选项和数据价格属性可以看到两个div。它在我对var $元素进行硬编码时有效,但是当divB可见时,我喜欢var $ elements只能读取divB1,请参阅代码
var $elements = $('#divA1, #divA2');
var $elements = $('#divB1');
$elements.on('change', function() {
var $selected = $elements.children(":selected");
var sum = 0;
$selected.each(function() {
sum += $(this).data('price');
});
$('#total_price').html('€'+sum);
});
答案 0 :(得分:0)
你的错误在第2行,你正在重新声明变量$ elements,
var $elements = $('#divA1, #divA2');
var $elements_b = $('#divB1');
if ($elements_b.length != 0) {
$elements = $elements_b;
}
$elements.on('change', function () {
var $selected = $elements.children(":selected");
var sum = 0;
$selected.each(function () {
sum += $(this).data('price');
});
$('#total_price').html('€' + sum);
});