2017-01-03 70 views
0

我使用以下代码根据数据库数据动态设计我的屏幕。在动态复选框中获取检查计数JavaScript

function RefillUI(data) { 
var html = ""; 
$.each(data, 
    function (i, item) { 
     $('#patientName').html(item.PatientName); 
     html += "<div class='col-md-3'> <div class='card'><div class='card_header'><h5>" + 
      item.DrugName + 
      "</h5></div><div class='card_body'>" + 
      "<div class='col-md-12'></div><ul class='col-md-6'><li class='bold'>Ref #</li><li class='bold'>" + 
      item.ReferenceNo + 
      "</li>" + 
      "</ul><ul class='col-md-6'><li class='center'>Refills</li><li class='fill'>1</li></ul>" + 
      "<table class='table table-bordered table-inverse'><tbody><tr><th>Prescriber</th><td>" + 
      item.PatientName + 
      "</td>" + 
      "</tr><tr><th>Last filled</th><td>Nov 14 2014</td></tr><tr><th>Next fill</th><td>Oct 16 2016</td></tr>" + 
      "<tr><th>Qty</th><td>" + 
      item.LastRefillQty + 
      "</td></tr><tr><th>Last Filled Dispensory</th><td>" + 
      item.LastRefillDispensory + 
      "</td></tr></tbody></table><form action='' class='cta center bold'>" + 
      "<label><input name='refill' type='checkbox' value='refill'>Refill</label></form></div></div></div>"; 
    }); 


$('#refillcards').html(html); 

}

现在我要检查有多少复选框,单击按钮时进行检查。我怎样才能做到这一点?

+0

单选按钮不应多次检查一次。你是指一个复选框,还是忘了一个按钮组? –

+0

是的。复选框。 – Tom

回答

0

我知道在纯JavaScript唯一的答案:

首先,把这个声明在顶部:

checkboxes = []; // No `var', it's global 

这将初始化的东西

function 
init (n) 
{ 
    // n is the number of check boxes 
    checkboxes[0] = document.getElementById ('some-id'); 
    checkboxes[1] = document.getElementById ('other-id'); 
    // ... 
    checkboxes[n - 1] = document.getElementById ('different-id'); 
} 

要为特定查询选择复选框,请执行:

function 
checkSelect (n) 
{ 
    if (n >= checkboxes.length) 
    { 
     throw "Index out of bounds: " + n; 
    } 
    return checkboxes[n].value; 
} 

然后,计算所有的再

function 
count() 
{ 
    var ret = 0; 
    for (var n = 0; n < checkboxes.length; n++) 
    { 
     if (checkSelect (n)) 
     { 
      ret = ret + 1; 
     } 
    } 
    return ret; 
} 
0
var n = $("input:checked").length; 

你可以有更好的选择更换输入,如果你想要的。