Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.01.2012, 10:48
Интересующийся
Отправить личное сообщение для stos Посмотреть профиль Найти все сообщения от stos
 
Регистрация: 26.12.2011
Сообщений: 28

Удаление всех строк внутри tbody
Здравствуйте.
Такой вопросик: как удалить все строки внутри tbody сразу.
По одной строке я удаляю без проблем, а вот чтобы все сразу?

И еще, на всякий случай, как передать данные из этих всех строк в POST?

Исходные данные.
сам tbody:
<tbody id="orders_tbody">
				
</tbody>


формирую строки:
function addRow(i1,i2,i3,i4,i5, nic)
		{			
            $('#orders_tbody').each(function()
			{
				var tds = '<tr id="row_'+nic+'">';
				tds += '<td>'+i1+'</td>';
				tds += '<td>'+i2+'</td>';
				tds += '<td>'+i3+'</td>';
				tds += '<td>'+i4+'</td>';
				tds += '<td>'+i5+'</td>';
				tds += '<td align="center" width="30"><img src="imgs/del.png" [B]onclick="delete_row(\'row_'+nic+'\','+i4+','+i5+')"[/B] border="0" height="25" width="25"></td>';
				tds += '</tr>';
				if($('tbody', this).length > 0)
				{
					$('tbody', this).append(tds);
				}
				else 
				{
					$(this).append(tds);
				}
			});		
        }


удалю строку:
function delete_row(r,nq,nsum) 
{
	var l = '#'+r;
	$(l).fadeTo(5000, 1).remove();
	
	var tpr = parseFloat($('#order_total').text() - nsum,2);
	$('#order_total').text(tpr);
	
	var tqua = parseInt($('#totalGoods').text() - nq);
	$('#totalGoods').text(tqua);
    $('#totalPrice').text(tpr);
}


сильно только не ругайте

спасибо..
Ответить с цитированием
  #2 (permalink)  
Старый 06.01.2012, 11:06
Аспирант
Отправить личное сообщение для miha-ha Посмотреть профиль Найти все сообщения от miha-ha
 
Регистрация: 03.09.2010
Сообщений: 39

попробуй так
$('#orders_tbody').html('');
Ответить с цитированием
  #3 (permalink)  
Старый 06.01.2012, 11:08
Аспирант
Отправить личное сообщение для miha-ha Посмотреть профиль Найти все сообщения от miha-ha
 
Регистрация: 03.09.2010
Сообщений: 39

Или так:
var e = document.getElementById('orders_tbody');
while ( e.rows[0] ) {
e.deleteRow(0);
}
Ответить с цитированием
  #4 (permalink)  
Старый 06.01.2012, 11:14
Интересующийся
Отправить личное сообщение для stos Посмотреть профиль Найти все сообщения от stos
 
Регистрация: 26.12.2011
Сообщений: 28

Сообщение от miha-ha Посмотреть сообщение
$('#orders_tbody').html('');
работает. спасибо. мои познания постепенно расширяются

тогда такой еще вопрос:
как передать данные из этих всех строк в POST?
Ответить с цитированием
  #5 (permalink)  
Старый 06.01.2012, 11:46
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от stos
работает. спасибо. мои познания постепенно расширяются
Осталось в IE проверить.
Ответить с цитированием
  #6 (permalink)  
Старый 06.01.2012, 12:11
Аспирант
Отправить личное сообщение для miha-ha Посмотреть профиль Найти все сообщения от miha-ha
 
Регистрация: 03.09.2010
Сообщений: 39

используй подобную функцию:
function postwith (to,p) {
  var myForm = document.createElement("form");
  myForm.method="post" ;
  myForm.action = to ;
  for (var k in p) {
    var myInput = document.createElement("input") ;
    myInput.setAttribute("name", k) ;
    myInput.setAttribute("value", p[k]);
    myForm.appendChild(myInput) ;
  }
  document.body.appendChild(myForm) ;
  myForm.submit() ;
  document.body.removeChild(myForm) ;
}


применение:
<a href="javascript:postwith('post.php',{row1:'dataRow1',row2:'dataRow2'})">click</a>
Ответить с цитированием
  #7 (permalink)  
Старый 06.01.2012, 12:22
Аспирант
Отправить личное сообщение для miha-ha Посмотреть профиль Найти все сообщения от miha-ha
 
Регистрация: 03.09.2010
Сообщений: 39

Но ты мешаешь логику и представление!
Тебе необходимо разделить данные и их отображение.
Например:
//данные
var tableData = [{name: 'ivan', age: 20}, 
{name:'kolyan', age: 21}, 
{name:'miha', age: 22}];

//отображение tableData
function drawTable(dataTable){
   //1.очистить таблицу
   //2.добавить строки
}


Таким образом ты всегда работаешь с данными и обновляешь отображение в случае изменения данных. Например при удалении строки нужно перерисовать таблицу. Соответсвенно именно данные и будешь передавать на сервер...
Ответить с цитированием
  #8 (permalink)  
Старый 06.01.2012, 12:28
Интересующийся
Отправить личное сообщение для stos Посмотреть профиль Найти все сообщения от stos
 
Регистрация: 26.12.2011
Сообщений: 28

Сообщение от Kolyaj
Осталось в IE проверить.
хм. поразительно. в осле всё работает именно так как должно работать. чтобы норм в хроме ипр. работало надо будет еще проверок на валидность написать.

Сообщение от miha-ha
<a href="javascriptostwith('post.php',{row1:'dataRo w1',row2:'dataRow2'})">click</a>
я что-то не понимаю или здесь мы отсылает содержимое двух строк?
Ответить с цитированием
  #9 (permalink)  
Старый 06.01.2012, 12:37
Аспирант
Отправить личное сообщение для miha-ha Посмотреть профиль Найти все сообщения от miha-ha
 
Регистрация: 03.09.2010
Сообщений: 39

Сообщение от stos
я что-то не понимаю или здесь мы отсылает содержимое двух строк?
да именно
Ответить с цитированием
  #10 (permalink)  
Старый 06.01.2012, 17:57
Интересующийся
Отправить личное сообщение для stos Посмотреть профиль Найти все сообщения от stos
 
Регистрация: 26.12.2011
Сообщений: 28

Сообщение от miha-ha
Но ты мешаешь логику и представление!
Тебе необходимо разделить данные и их отображение.
всё в порядке с логикой и представлением

Пробую отсылать.
Отпишусь о результатах
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое удаление строк таблицы Tankist Events/DOM/Window 16 03.07.2013 16:42
vkontakte, удаление куки. после удаления всех кук я всерано остаюсь залогиненым syegorius Events/DOM/Window 1 17.11.2011 03:52
Удаление всех tr из tbody Kiev Events/DOM/Window 17 30.07.2010 22:21
Как изменить background всех дочерних элементов внутри <div>? libinstyle Общие вопросы Javascript 2 24.03.2010 13:25