2015-10-14 60 views
0
<!DOCTYPE html> 
<html lang="en"> 

<head> 
</head> 
    <title>test App</title> 

    <!-- Bootstrap Core CSS --> 
    <link href="/Project/static/css/bootstrap.min.css" rel="stylesheet"> 

    <!-- Custom CSS --> 
    <link href="/Project/static/css/sb-admin.css" rel="stylesheet"> 
    <link href="/Project/static/css/bootstrap-multiselect.css" rel="stylesheet"> 

    <!-- Custom Fonts --> 
    <link href="/Project/static/lib/css/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"> 
    <script src="/Project/static/lib/js/jquery.min.js"></script> 
<body> 
<div > 

     <ul id="ts" class="collapse"> 
      <select id="time-stamp" multiple="multiple"> 
       <option value="T1">T1</option> 
       <option value="T2">T2</option> 
       <option value="T3">T3</option> 
       <option value="T4">T4</option> 
       <option value="T5">T5</option> 
      </select> 
     </ul> 
     <ul id="cs" class="collapse"> 
      <select id="chart-select" onchange="fillChart()"> 
       <option value="error_info">select</option> 
       <option value="session_history">Error Info</option> 
      </select> 
     </ul> 

</div> 
<script src="/Project/static/js/jquery.js"></script> 
<script src="/Project/static/js/bootstrap.min.js"></script> 
<script src="/Project/static/js/bootstrap-multiselect.js"></script> 
<script type="text/javascript"> 
     function fillChart() 
     { 

      var chkd = document.getElementById("time-stamp"); 
      var cids = []; 
      for (var i=0;i<chkd.length;i++) 
      { 
       alert(i); 
       if(chkd[i].checked) 
       { 
        cids.push(chkd[i]); 
       } 
      } 

      alert(cids); 
     } 
</script> 

</body> 
</html> 

我想讀取所選的複選框的所有字段的文本。但是,alert(cids)在此處爲空。 chkd[i].checked始終返回false,因爲cids.push(chkd[i])未執行。我可以知道我錯在哪裏嗎?下拉選中的框不起作用

+0

你的意思是選擇框?我在這裏沒有看到任何複選框 –

+0

Here you go http://jsfiddle.net/sandenay/h7vp8z05/ –

回答

1

你必須檢查物業selected而不是checked

請更改

if(chkd[i].checked) 

if(chkd[i].selected) 

請同時檢查documentation of option element

+0

非常感謝:D:D – krish

0

您需要檢查selected而不是checked財產。請參見下面的代碼段:

function fillChart() { 
 

 
    var chkd = document.getElementById("time-stamp"); 
 
    var cids = []; 
 
    for (var i = 0; i < chkd.length; i++) { 
 
    //alert(i); 
 
    if (chkd[i].selected) { 
 
     cids.push(chkd[i].value); 
 
    } 
 
    } 
 

 
    console.log(cids); 
 
}
<select id="time-stamp" multiple="multiple"> 
 
    <option value="T1">T1</option> 
 
    <option value="T2">T2</option> 
 
    <option value="T3">T3</option> 
 
    <option value="T4">T4</option> 
 
    <option value="T5">T5</option> 
 
</select> 
 

 
<select id="chart-select" onchange="fillChart()"> 
 
    <option value="error_info">select</option> 
 
    <option value="session_history">Error Info</option> 
 
</select>

+0

非常感謝:D:D – krish