2014-02-13 1 views
-2

코드가 있습니다. JS 함수에서 드롭 다운 목록의 선택한 값과 마지막 값을 선택하고 싶습니다.JS 값과 마지막 값을 선택하십시오.

JS에서 선택한 값과 각 값의 백분율의 합을 찾기위한 코드를 작성하고 있습니다.

합계 내가 선택한 값을 더했지만 얻지 못하는 비율입니다. 즉, 선택한 드롭 다운 목록의 최대 값을 가져 오려고합니다.

즉, 드롭 다운 목록을 선택한 경우 드롭 다운 목록의 최대 값과 선택한 값을 가져 오려고합니다.

코드는 여기에 있습니다. 그게 뭐가 잘못 됐는지 알려줘.

EDIT 이 문제는 해결되지만 Chrome에서는 작동하지 않습니다. ... 이유를 알려 주시기 바랍니다는 여기 http://jsbin.com/sudom/44

+0

달성하려는 것은 무엇입니까? 합계, 평균 및 최대 두 값? – arjuncc

+0

선택한 값의 합계와 선택/최대 값의 백분율을 얻고 싶습니다. – user3300202

답변

1

당신이 그것을 선택한 값의 시도에 대한 각 time.As 찾을 필요 없다, 그래서 최대 값은 귀하의 경우 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) + ' %'; 
} 
+0

다른 최대 값이 다른 드롭 다운 목록이 있습니다. – user3300202

+0

http://stackoverflow.com/questions/21720034/js-get-maximum-value-and-selected-value-of-drop-down-list 여기 내 예비 질문을 찾을 수 있습니다. – user3300202

+0

jsbin을 확인하면 완료했습니다. 똑같은 것. 하지만 그것은 계산하지 않습니다. – user3300202

관련 문제