Jquery 根据数据价格和可见div计算总价?

Jquery 根据数据价格和可见div计算总价?,jquery,hidden-field,Jquery,Hidden Field,我一直忙于隐藏/显示div和计算总价。假设我有一个女主角和一个女主角。现在,当div A可见时,两个div通过菜单选项和数据价格属性可见。当我硬编码var$元素时,它就工作了,但是当divB可见时,我喜欢var$元素只读divB1,请参见代码 var $elements = $('#divA1, #divA2'); var $elements = $('#divB1'); $elements.on('change', function() { var $sele

我一直忙于隐藏/显示div和计算总价。假设我有一个女主角和一个女主角。现在,当div A可见时,两个div通过菜单选项和数据价格属性可见。当我硬编码var$元素时,它就工作了,但是当divB可见时,我喜欢var$元素只读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);
    });

您的错误在第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);
});

请添加小提琴链接,以便更好地了解您的problem@Laximikant是的,我知道。我在代码中注释了第二个变量,但是我想使用一个基于菜单选项选择的$elements变量,比如if!$'选项a'.is:hidden{$elements=$'divA1,divA2';}if!$'optionsB'.is:hidden{$elements=$'divB1';},可见性由选项菜单设置,并由$'formstep2'检查就绪。findselect[data toggle='stdOptions']。在'change'上,函数{var$target=$$this.find'option:selected'。attr'data-toggle';