且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

JS获取下拉列表的最大值和选定值

更新时间:2022-11-10 19:31:11

您可以访问选项集合HTMLSelectElementrel =nofollow> HTMLSelectElement object 就像一个数组。

 函数sum(){
var $ = function(str){return document.getElementById(str); },
f,ddlist,sval,mval,
结果= 0,maxtotal = 0,百分比;

//尝试'ddlist1','ddlist2',..等等
f = 1;
while(ddlist = $('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)?结果/ maxtotal * 100:0;

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


I have a series of Drop down list in my page which has different values like some has values Starting like "NA, 1,2,3 to 100" other has "NA, 1 ,2,3 to 50" and other have different ending value but all are starting with "NA"

i am writing code to find the sum of the values selected and percentage of each value in JS.

The sum I got it the addition of selected values but percentage I am not getting. I want to fetch the maximum value of the selected drop down list.

JS Function

    function sum() {
      var result = 0;
      var sval = 0;

      for (var f = 1; f<= 5; f++) {
        var sval = document.getElementById('ddlist_'+f).value;
        if(!isNaN(sval)) {
          var sval = parseFloat(sval);
          result = result + sval;

        }
      }


      }
    }

    window.onload = sum;

Total Value of the Selected List is in Var Result. 
I want to find the Maximum value of all list  

Example Drop Down list

    <option value=NA> NA </option><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option>
<option value="6">6</option><option value="7">7</option><option value="8">8</option><option value="9">9</option><option value="10">10</option>
<option value="11">11</option><option value="12">12</option>
<option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option>
<option value="18">18</option><option value="19">19</option>
<option value="20">20</option><option value="21">21</option><option value="22">22</option>
<option value="23">23</option><option value="24">24</option><option value="25">25</option>

output

<span id="maxtotal " style="color:#06F; font-weight:bold;"></span>

In short, when Drop down list selected, I want to fetch the Selected Value and Last which is Maximum value of the Drop down List.

Thanks you

You can access the options collection of an HTMLSelectElement object like an array.

function sum() {
  var $ = function (str) { return document.getElementById(str); },
      f, ddlist, sval, mval,
      result = 0, maxtotal = 0, percent;

  // try 'ddlist1', 'ddlist2', .. and so on
  f = 1;
  while (ddlist = $('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;

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