JS选择价值和最后价值

时间:2014-02-13 05:03:24

标签: javascript html

我有一个代码,我想在JS函数中选择下拉列表的选定值和最后一个值。

我正在编写代码来查找所选值的总和以及JS中每个值的百分比。

总和我得到了所选值的添加但是我得不到的百分比。我想获取所选下拉列表的最大值

简而言之,当选择下拉列表时,我想获取选定值和最后一个,它是下拉列表的最大值。

守则在这里,它并不畏缩。请告诉我它的错误。

修改 我解决了这个问题,但它在IE中工作而不是Chrome。请让我知道为什么......在这里http://jsbin.com/sudom/44

1 个答案:

答案 0 :(得分:1)

在你的情况下最大值是100,所以你不必每次都找到它。对于所选值,请尝试:

var temp = document.getElementById("ddlist1");
var selectedValue = temp.options[temp.selectedIndex].value;

要获取最后一个值,请尝试:

var lastValue = temp.options[temp.options.length - 1].value;

或者如果您使用jquery,您可以尝试:

var lastValue = $('#ddlist1 option:last-child').val();

更新: 试试这个脚本

  function sum() {
  var f, ddlist, sval, mval,
      result = 0, maxtotal = 0, percent;

  // try 'ddlist1', 'ddlist2', .. and so on
  f = 1;
  while (ddlist = document.getElementById('ddlist' + f++)) {

    sval = ddlist.options[ddlist.selectedIndex].value;
    mval = ddlist.options[ddlist.options.length - 1].value;

    if ( !isNaN(sval) && !isNaN(mval) ) {
      result += parseFloat(sval);
      maxtotal += parseFloat(mval);
    }
  }

  percent = (maxtotal > 0) ? result / maxtotal * 100 : 0;

  document.getElementById('maxtotal').innerHTML = result + ' of ' + maxtotal;
  document.getElementById('totalper').innerHTML = percent.toFixed(2) + ' %';
}