2012-03-09 17 views
2

私のHTMLコードをjavascript関数

<div data-role="fieldcontain"style="padding:0; margin:0; padding-top:0px;"> 


      <div style = "margin-top:-5px"> 

       <select name="selectmenue1" id="sm" data-native-menu = "false" multiple = "multiple" > 
        <option value="1" selected="selected">iOS</option> 
        <option value="2">Android</option> 
        <option value="3">BlackBerry</option> 
        <option value="4">Others</option> 
       </select> 

      </div> 
     </div> 

であると私は

function check_sm() 
     { 
     var c_value = 0; 
     for (var i=0; i < document.myform.sm.length; i++) 
     { 
     if (document.myform.sm[i].checked) 
     { 
     c_value = (eval(c_value) + eval(document.myform.sm[i].value)); 
     }  
     } 
     alert(c_value); 
     } 

機能ではありません選択した値の合計を取得するには、このjavascript関数を使用していたHTMLを選択menueから選択された値の合計を取得するにはワーキング。いくつかの提案が必要です。おかげ

答えて

3

選択を使用して問題を解決する必要があります。あなたはjqueryのを使用して、より良い行うことができますコード

function check_sm() { 
     var c_value = 0; 
     var sm1 = document.getElementById("sm"); 
     for (var i = 0; i < sm1.length; i++) { 
      if (sm1[i].selected) 
      { c_value = (eval(c_value) + eval(sm1[i].value)); } 
     } alert(c_value); 
    } 
+0

感謝を...! –

0

はあなたが意味するか:

 

var c_value = 0; 
function check_sm() { 
    var Selected = document.myform.selectmenue1.selectedIndex; 
    var selectedVal = document.myform.selectmenue1.options[Selected].value; 
    selectedVal = parseInt(selectedVal, 10); 
    c_value +=selectedVal; 
    alert(c_value); 
} 
 
0

私はselect要素で利用可能なプロパティが「確認」されるとは思いません。オプションが選択されているかどうかを調べるには、.selectedプロパティを使用する必要があります。-

function getSum(){ 

var sm = document.getElementById("sm"); 

var sum = 0; 

for(var i=0;i<sm.options.length;i++) 

{ 

if(sm.options[i].selected){ 

    sum+=parseInt(sm.options[i].value); 

} 

} 

alert(sum); 

} 
0

以下を参照してください - それが動作

$("select").change(function() { 
    var count = 0; 
    $("select option:selected").each(function() { 
     count = Number(count) + Number($(this).val()); 
    }); 
    alert(count); 
}).change();