Получение выбранных значений строк в таблице с помощью jquery в mvc 4 asp.net

0

Я использовал jquery для разворачивания таблицы, и мне нужно получить определенное значение строки, используя пример события click, показанный ниже:

Jquery:

$(document).ready(function () {

    $('#UsertTypeName').change(function () {

        $.get('/Home/Userdetails/' + $('#UsertTypeName').val(), function (data) {

            var items = "<table><tr><th>Name</th><th>Email_id</th><th>UserType</th><th colspan='2'>Actions</th></tr>";

            $.each(data, function (i, count) {

                items += "<tr><td >" + count.FirstName + "</td><td class="+'test'+">" + count.EmailId + "</td><td>" + count.UsertTypeName + "</td><td>" + '<input type="Submit" value="Edit" class="editdata" />' + "</td><td>" +'<input type="submit" Value="Delete" id="deldata">' + "</td></tr>";
            });

            $('#rdata').html(items);
            items += "</table>";

            $('.editdata').click(function () {
                alert("edit working");
                var url = "/Home/Edit/";
                $.ajax({
                    type: "post",
                    url: url,
                    data: $('.test').val(),
                    success: function (data) {
                        $('#testing').html(data)
                    }
                });

            });

        });
    });

});

Я попытался получить значение электронной почты, используя. $ Ajax, но возвращает только нулевое значение

Изображение 174551

Я не мог найти, где мне не хватает ценности. Можете ли вы мне помочь. Продвиньте благодарность.

Теги:
asp.net-mvc

1 ответ

0

Если вы хотите получить значение count.EmailId, которое оно походит на вас, когда кто-то нажимает на <input type="Submit" value="Edit" class="editdata"/> в той же строке, вы можете используйте jQuery, чтобы найти родительский <tr> а затем найдите <td> содержащий данные, не ссылаясь на класс .test, который вернет массив. что-то вроде этого:

var emailId = $(this).parent('td').parent('tr').find('td:eq(1)').text();

Это находит второе <td> в той же строке, что и input ваших кликов пользователей и сохраняет текст в столбце, emailId:

            $('.editdata').click(function () {
            alert("edit working");
            var emailId = $(this).parent('td').parent('tr').find('td:eq(1)').text();
            var url = "/Home/Edit/";
            $.ajax({
                type: "post",
                url: url,
                data: emailId,
                success: function (data) {
                    $('#testing').html(data)
                }
            });

В коде есть проблемы с дизайном, которые я хотел бы отметить. Предполагая, что ваша таблица будет иметь более одной строки в своем теле, <input type="submit" Value="Delete" id="deldata"> приведет к тому, что несколько элементов с deldata их идентификатором, что вызовет некоторые головные боли, когда вы "пытаюсь присоединить обработчики событий к идентификатору, потому что поле идентификатора должно быть уникальным.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню