根据复选框找到一些并选择

时间:2017-08-02 20:22:59

标签: javascript jquery html forms

我试图根据复选框找到某个数字的SUM并选择选项。

这是我的代码

<div class="container">
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<label>
<input type="checkbox" value="10">10
</label>
</div>
<input id="total" placeholder="total" />

我的剧本是

function updateTotal(){
var total = 0;

 $(".container input[type='checkbox']").each(function(){    
if($(this).is(":checked")){
  var multiplier = Number($(this).parent().prev().val());
  var checkboxAmount = Number($(this).val());

  total += multiplier * checkboxAmount;
   }
 });

$("#total").val(total);

}

$(“select,input [type ='checkbox']”)。on(“change”,updateTotal);

上面的脚本只是工作正常给html代码。但是当我先保留我的复选框并选择下一个选项时,此脚本将不会提供任何输出

我想要这样的HTML代码,然后脚本应该可以正常使用

<div class="container">
<label>
<input type="checkbox" value="10">10
</label>
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div>
<input id="total" placeholder="total" />

任何帮助,code coppied from here

1 个答案:

答案 0 :(得分:0)

试试这个 -

function updateTotal() {
  var total = 0;
  $(".container").each(function () {
    var checkbox = $(this).find("input[type='checkbox']");
    var select = $(this).find("select");
    if (checkbox.is(":checked")) {
      total += Number($(this).find("input[type='checkbox']").val()) * Number(select.val());
    }
  });
}