[英]How to get CheckBox control in GridView with SPAN using JavaScript
我正在嘗試從 gridview 為選中的行復選框計算總數量,但無法在我的 javascript 中獲得復選框控件。 如何從 Javascript 中生成的 Gridview 表行下方獲取復選框控件? 我在下面附上了我的腳本,腳本上沒有任何內容。
<table cellspacing="0" cellpadding="1" rules="all" border="1" id="grdView" style="background-color:#F2F4FF;width:100%;border-collapse:collapse;">
<tr>
<td align="center">
<span class="chkSelected" style="display:inline-block;border-style:None;"><input id="grdView_ctl02_chkSelect" type="checkbox" name="grdView$ctl02$chkSelect" /></span>
<input type="hidden" name="grdView$ctl02$hdDocId" id="grdView_ctl02_hdDocId" value="DO0002" />
<input type="hidden" name="grdView$ctl02$hdScope" id="grdView_ctl02_hdScope" value="Dlv" />
<input type="hidden" name="grdView$ctl02$hdDocType" id="grdView_ctl02_hdDocType" value="DO" />
<input type="hidden" name="grdView$ctl02$hdRefNo" id="grdView_ctl02_hdRefNo" />
<input type="hidden" name="grdView$ctl02$hdServiceType" id="grdView_ctl02_hdServiceType" />
<input type="hidden" name="grdView$ctl02$hdQty" id="grdView_ctl02_hdQty" />
<input type="hidden" name="grdView$ctl02$hdWeight" id="grdView_ctl02_hdWeight" />
</td>
</tr>
</table>
function calculateTotal() { var sum = 0.00; var itemsum = 0.00; var gv = document.getElementById('grdView'); for (var row = 1; row < gv.rows.length; row++) { var cb = gv.rows[row].cell[0].childNodes[0].find('input[type="checkbox"]'); if (cb.checked) { var quantity = gv.rows[row].cells[8].innerText; try { sum += new Number(quantity); } catch (err) { alert(quantity); } } } alert(sum.toString()); return false; }
我浪費了幾天時間來獲得正確的 output ,如下所示。 希望這對那些 javascript 初學者開發人員(比如我:))有所幫助並節省時間。 快樂編碼。
function calculateTotal()
{
var sum = 0.00;
var gv = document.getElementById('grdView');
for (var row = 1; row < gv.rows.length; row++) {
const collection = gv.rows[row].cells[0].children;
var cb = collection[0].firstChild;
if (cb.checked) {
var quantity = gv.rows[row].cells[8].innerText;
try {
sum += new Number(quantity);
} catch (err) {
//how to alert(quantity);
}
}
}
var lbltotal= document.getElementById('lblTotalQty');
lbltotal.innerHTML = sum.toString();
return false;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.