为每个选择和计数结果乘以2个元素

时间:2014-09-11 19:37:15

标签: jquery function each

我有多个选择:

 <select name="1a[b]" class="5.00">
     <option value='1' selected >Choice 1</option>
     <option value="2"  >Choice 2</option>
</select>
<select  name="2a[b]" class="2.50">
     <option value='1' >Choice 1</option>
     <option value="2" selected>Choice 2</option>

</select>

我希望为每个名称中带有[b]的选择获取值乘以类,然后将所有选择的值相加。因此,上述所需的结果将是:

(5.00 * 1) + (2.50 * 2) = 10.00

我已经用它来获得个人选择的总数,但是我不能在每种方法中这样做。

<script type="text/javascript">
    $("select[name*='a[b]']").change(function(){
   alert( $(this).val()  * $(this).attr("class") ); 

});
</script>

我整天都在咆哮着每一棵错误的树。非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

我使用数据属性而不是在类中存储值(我认为这比使用类存储值更合适)

var selects =  $("select[name*='a[b]']");

 $("select[name*='a[b]']").on('change',function(){
     var total = 0;
     $(selects).each(function(i,current){
           var val = $(current).val();
           var data = $(current).attr('data-val');
           total += val*data;

     });
     alert(total)
 });

http://jsfiddle.net/owyfnuu1/