Итерирование Gridview через jquery - PullRequest
1 голос
/ 12 августа 2011

предположим, у меня есть сетка, а в моей сетке много строк, включая верхний и нижний колонтитулы и пейджер.

в каждой строке есть текстовое поле, выпадающий список и флажок.

как два текстовых поля для employeeid и employeeename, одного раскрывающегося списка для секса, одного флажка для выбора выпускника или нет.

так что мне нужно знать, как я могу выполнить итерацию gridview через jquery, а также итерировать каждую строку, исключая заголовок, нижний колонтитул и пейджер.

, поэтому мне нужно извлечь значения из текстового поля, выпадающего списка и флажков из каждой строки и построить строку JSON для отправки данных на сервер.

строит строку json как

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

спасибо

Ответы [ 2 ]

1 голос
/ 12 августа 2011

Я не знаю, какой gridview вы используете, но могу предложить вам такое решение.

Gridview отображается как таблица, и вы можете присвоить атрибуты своим строкам, таким как "Row0", "Row1"

Найдя свое сеточное представление в java-скрипте, вы можете перебирать его строки и, используя присвоенные атрибуты, знать, какая строка является текущей, найти соответствующий элемент в строке и принять его значение

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

})
1 голос
/ 12 августа 2011

Попробуйте это.

Добавьте RowStyle к разметке GridView следующим образом

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

Теперь все tr в 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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...