2011-08-12 7 views
1

내가 gridview 있고 내 gridview 머리글 및 바닥 글 및 호출기를 포함하여 많은 행이 있다고 가정하십시오.jquery를 통해 Gridview 반복

모든 행에는 텍스트 상자, 드롭 다운 및 체크 박스가 있습니다.

은 employeeid와 employeename에 대한 두 개의 텍스트 상자,성에 대한 하나의 드롭 다운, 졸업식 선택에 대한 하나의 체크 상자와 같습니다.

그래서 jquery를 통해 gridview를 반복 할 수 있는지 알아야하고 헤더, 바닥 글 및 호출기를 제외한 각 행을 반복해야합니다.

그래서 각 행에서 텍스트 상자, 드롭 다운 및 체크 박스에서 값을 추출하고 서버에 데이터를 보내기위한 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 문자열이보십시오. GridViewRow의 모든 tr<tr class="row">있을 것이다

지금이

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

처럼의 GridView 마크 업에 RowStyle를 추가합니다. 그런 다음이 스크립트를 버튼 클릭 이벤트 내에서 호출하십시오.

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); 

JSON을 지원하지 않는 브라우저를위한 json2.js에 대한 참조를 추가하십시오

모의 업 : http://jsfiddle.net/naveen/P8Aue/

1

난 당신이 사용하고있는 gridview 모르겠어요,하지만 난 당신에게 그런을 제안 할 수 있습니다 해결책.

GRIDVIEW 테이블로 렌더링됩니다 당신이 할당 된 속성을 당신이 행을 반복 할 수있는 자바 스크립트에있는 gridview를 발견하고 사용하여 "Row0", "ROW1"

처럼 행에 속성을 줄 수있는 무엇을 알고 현재 행을 찾아 행에 적절한 요소를 찾아 해당 값을 취합니다.

$("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 

}) 
관련 문제