[jQuery]抓grid底下每一列的元件

  • 3335
  • 0
  • 2013-12-27

摘要:[jQuery]抓grid底下的元件(input 或是 非input)

抓grid底下每一列tr,再抓出每一列的裡面的input來加總

.

$("table[id*=gvMain] tr").each(function () {
                    //如果該列的checkbox有打勾的話                  
                    if ($(this).find("input[id*='chk'][type='checkbox']").attr('checked')) {
                        //就把該列的隱藏金額欄位加總
                        var trValue = $(this).find("input[id*='hidAmt'][type='hidden']").val();
                        //alert('trValue:' + parseInt(trValue));
                        if (trValue != "") {
                            totalAmt += parseInt(trValue);
                            //alert('加總一次totalAmt之後:' + totalAmt);
                        }
                    }
                });
//上面的 
$("table[id*=gvMain] tr").each(function () {
});
//也可以改寫成
var gvMain = $("table[id*=gvMain]");
gvMain.find('tr').each(function () {
});

如果是要直接抓grid裡面某某input(這裡是指checkbox), 不要先去透過每一列tr的話,如下:

 

$("table[id*=gvMain] tr td>input[id*='chk'][type='checkbox']").click(function () {
});

由上可知,如果要特別指定td的確實下一層的input的話,要加上>符號

像是td>inputOOXX

如果是要指定也許是td下兩層,或是下三層的input

就是 td inputOOXX。

當然上面也可以改寫成如下

var gvMain = $("table[id*=gvMain]");
gvMain.find("td>input[id*='chk'][type='checkbox']").click(function () {
});

今天對於jQuery Selector有更深一層的了解!