如何在更改时更新所选选项元素的总和

时间:2018-01-11 14:15:45

标签: php jquery html select onchange

我正在努力理解为什么总和没有更新。

这是我的下拉列表:

echo "<select name='CPU'>";
while ($row = mysqli_fetch_array($result)) {
    if($row['id']==1)
        echo "<option value='" . $row['id'] . "'a='" . $row['productprice'] 
       . "'>" . $row['productname'] . "</option>";
    else if($row['productstock']>0 && $row['id']>1)
        echo "<option value='" . $row['id'] . "'a='" . $row['productprice'] 
       . "' >" . $row['productname'] . " Price:" . $row['productprice'] . "</option>";
}
echo "</select>";

这是我更新总和的功能:

$('select').change(function(){
    var sum = 0;
    $('select :selected').each(function() {
        sum += Number($(this).attr("a"));
    });
    $("#sum").html(sum);
    //
});

1 个答案:

答案 0 :(得分:0)

每次致电

$('select').change(function(){

您正在重新初始化var sum = 0;,这就是它未被添加到之前值的原因。您需要在页面加载时取出初始化并初始化一次。

$(document).ready(function(){
   var sum = 0;
   $('select').change(function(){
      $('select :selected').each(function() {
         sum += Number($(this).attr("a"));
      });
   $("#sum").html(sum);
   })
});

<强> >>>Demo<<<