Отправить пост запрос из данных
Здравствуйте, у меня есть таблица, которая имеет строки такого вида:
<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 из моего кода. Заранее спасибо! |
Ответ на второй вопрос: 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'шников. |
Кстати я бы код по-другому писал.
// массив всех строк
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);
|
Спасибо!
|
| Часовой пояс GMT +3, время: 03:47. |