2011-08-12 122 views
1

假設我有一個gridview和我的gridview有很多行,包括頁眉和頁腳和尋呼機。通過jQuery的迭代Gridview

每行都有一些文本框,下拉框和複選框。

像employeeid和employeename兩個文本框,一個性別下拉框,一個用於選擇畢業生的複選框。

所以我需要知道我怎麼可以迭代gridview通過jquery,並迭代每行不包括頁眉,頁腳和尋呼機。

所以我需要從每行中的文本框,下拉列表和複選框中提取值,並構建用於將數據發送到服務器的json字符串。

  var json = "{'Name':'" + $("input[id*='txtName']").val() + 
     "','Subject':'" + $("input[id*='Subject']").val() + 
     "','Email':'" + $("input[id*='Email']").val() + 
     "','Message':'" + jQuery.trim($('.message').val()) + "'}"; 

感謝

回答

1

構建JSON字符串試試這個。

添加RowStyle到GridView類似這樣的標記

<RowStyle CssClass="row" /> 
<AlternatingRowStyle CssClass="row" /><!-- If needed --> 

現在所有的tr S IN的GridViewRow將有<tr class="row">。然後在你的按鈕點擊事件中調用這個腳本。

var items = []; 
$(".row").each(function() { 
    var item = {}; 
    item.ID = $.trim($(this).find("input[id*='ID']").val()); 
    item.Name = $.trim($(this).find("input[id*='Name']").val()); 
    item.Gender = $(this).find("select[id*='Gender']").val(); 
    item.IsGraduate = $(this).find("input[id*='IsGraduate']").is(':checked'); 
    items.push(item); 
    }); 
var DTO = JSON.stringify(items); 

請以json2.js添加對不具備JSON支持的瀏覽器參考

實物模型:http://jsfiddle.net/naveen/P8Aue/

1

我不知道GridView控件使用的是什麼,但我可以建議你這樣解。

的GridView呈現爲表,您可以向行像「0行」,「ROW1」

給屬性通過Java腳本,你可以通過它的行迭代找到你的GridView和利用分配的屬性知道什麼是當前行並在行中找到合適的元素並取其值

$("tr",$("#gridViewID")).each(function() 
{ 
    // here you can get elements index of your row by tour attribute 

    `$("input[id*='txtName']",$(this))` //is your textbox 

    // getting all this values you can build your json string 

})