我有一个代码,我想在JS函数中选择下拉列表的选定值和最后一个值。
我正在编写代码来查找所选值的总和以及JS中每个值的百分比。
总和我得到了所选值的添加但是我得不到的百分比。我想获取所选下拉列表的最大值
简而言之,当选择下拉列表时,我想获取选定值和最后一个,它是下拉列表的最大值。
守则在这里,它并不畏缩。请告诉我它的错误。
修改 我解决了这个问题,但它在IE中工作而不是Chrome。请让我知道为什么......在这里http://jsbin.com/sudom/44
答案 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) + ' %';
}