Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.07.2013, 22:40
Интересующийся
Отправить личное сообщение для ruzik Посмотреть профиль Найти все сообщения от ruzik
 
Регистрация: 13.07.2013
Сообщений: 20

Отправить пост запрос из данных
Здравствуйте, у меня есть таблица, которая имеет строки такого вида:
<ul class="striped-row">
                    <li class="two" style="width: 35px;"><input class="checkBoxToDelete" type="checkbox" style="display: inline;"/></li>
                    <li class="two">@(FirstName + " " + LastName)</li>
                    <li class="two">@EmailAddress</li>
                </ul>

На @ внимание особого не обращайте, это часть Asp.net и особого значения тут не имеет. Задание в том, чтобы удалить отмеченные элементы и отправить запрос на сервер для того, чтобы и там они удалились. Отправлять нужно 3 столбец(email'ы).
Вот js код(честно говоря говнокод, использую js только неделю, раньше веба вообще не касался):
function DeleteSelectedRows() {
        $(".checkBoxToDelete").each(function (indx, element) {
            var toDelete = [];
            var currentElement = $(element);
            if (currentElement.attr("checked") == "checked") {
                var currentRow = currentElement.parent().parent();
                //toDelete[toDelete.length - 1] = currentRow;
                alert(currentRow.eq(2).text()); //<---
                currentRow.remove();
            }
        });

Для поиска элементов использую jquery. С удалением нужной строки проблем особых не было, а вот тем чтобы получить email возникли некоторые проблемы.
И еще вопрос, хотя наверное для него лучше создать отдельный топик; мы можем искать по всей странице с помощью функции $(). Как ограничить область поиска определенной частью этой страницы, например тем же currentRow из моего кода.
Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 14.07.2013, 11:01
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ответ на второй вопрос: currentRow.find('your selector')
ЧТо касается первого - собери id-шники удаляемых строк и запости их на сервер. чета типа

var id = [3,4,8]; // отмеченные строки. для примера
$.post('/rows/delete/', {id: id}, function(){
alert('Строки удалены.');
})


На сервер придет пост запрос на /rows/delete/. Если верить этой статье http://haacked.com/archive/2008/10/2...to-a-list.aspx , то в качестве post-переменной с именем id будет коллекция отмеченных id'шников.
Ответить с цитированием
  #3 (permalink)  
Старый 14.07.2013, 11:10
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Кстати я бы код по-другому писал.

// массив всех строк
var $rows  = $('.striped-row');

// массив строк для удаления
var $rowsToDelete = $.filter($rows, function(item){
    return $(item).find('.checkBoxToDelete').is(':checked');
});

// массив id'шников или чего там тебе нужно для POST
var id = $.map($rowsToDelete, function(item){
    return $(item).find('тут где у тебя Id или email хз').val();
});

alert(id);
Ответить с цитированием
  #4 (permalink)  
Старый 14.07.2013, 11:39
Интересующийся
Отправить личное сообщение для ruzik Посмотреть профиль Найти все сообщения от ruzik
 
Регистрация: 13.07.2013
Сообщений: 20

Спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправить запрос и получить отдельный элемент Vampir3 Общие вопросы Javascript 7 13.01.2013 22:26
Кросс-доменный пост запрос beat AJAX и COMET 0 28.11.2012 17:49
Через ajax отправить много данных из таблицы на сервер Heger jQuery 3 29.08.2012 18:51
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Синхронный запрос данных по AJAX Shasoft AJAX и COMET 2 03.03.2009 14:07