Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.06.2012, 19:21
Аватар для Махач
Интересующийся
Отправить личное сообщение для Махач Посмотреть профиль Найти все сообщения от Махач
 
Регистрация: 24.04.2012
Сообщений: 19

$(#name).text(str)
Доброго времени суток!

Помогите пожалуйста!
Написал код, добавляющий по клику на кнопку новую строку в таблицу
$("#add").click(function () {
				//alert(i);
				$('<tr id="'+id+'"><td></td></tr>').appendTo("#tableName > tbody");
				//$("div.#mas").html("I: "+i+"<br />----------------------------<br />");
				var selector = '#tableName > tbody #'+(id);
				$(selector).html('<td>'+par1+'</td><td>'+par2+'</td><td>'+par3+'</td><td>'+par4+'</td><td>'+par5+'</td><td>'+par6+'</td><td id="potoktd">'+par7+'</td><td id="archivetd">'+par8.toFixed(0)+'</td><td><input type="button" id="delete" value="Удалить" del="'+id+'" /></td>');
				id++;
				sum = 0;
				for (var j=1; j<id; j++) {
					sum += parseFloat($("table#tableName tr:eq("+j+") td:eq(6)").html()); 
				};
				alert(sum);
				$("div #sum span").text(sum);
			});
В алерте всё правильно выводит, но писать в див (> span) отказывается. В чём причина. Всю голову поломал.
Ответить с цитированием
  #2 (permalink)  
Старый 20.06.2012, 19:37
Профессор
Отправить личное сообщение для tadjik1 Посмотреть профиль Найти все сообщения от tadjik1
 
Регистрация: 07.06.2011
Сообщений: 315

жуткий код, попробуйте пробел убрать $('div#sum span') , если у вас <div id="sum">, но вообще переписать лучше всё)
Ответить с цитированием
  #3 (permalink)  
Старый 20.06.2012, 19:51
Аватар для Махач
Интересующийся
Отправить личное сообщение для Махач Посмотреть профиль Найти все сообщения от Махач
 
Регистрация: 24.04.2012
Сообщений: 19

Попробую, как доберусь до компа (но вроде я это пробовал).

А что жуткого?
Ответить с цитированием
  #4 (permalink)  
Старый 20.06.2012, 19:56
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<div  id=sum>
  <span><!--></span
</div>

<script type="text/javascript">

   $("#add").click(function () {
   var TR_add='<tr id="'+id+'"><td></td></tr>';
   var INPadd='<input type="button" id="delete" value="Удалить" del="'+id+'" />';
   var attachadd='\
<td>'+par1+'</td>\
<td>'+par2+'</td>\
<td>'+par3+'</td>\
<td>'+par4+'</td>\
<td>'+par5+'</td>\
<td>'+par6+'</td>\
<td id="potoktd">\'+par7+'</td>\
<td id="archivetd">'+par8.toFixed(0)+'</td>\
<td>'+INPadd+'</td>'

   $("#tableName").append(TR_add);  
   $('#'+id+':first').html(attachadd);
   id++; sum = 0;

   for (var j=1; j<id; j++) {
     sum += parseFloat($("table#tableName tr:eq("+j+") td:eq(6)").html()); 
   };
   alert(sum);
   $("div #sum span").text(sum);

  });
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 21.06.2012, 01:03
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

div#sum это зачем??? id уникален.

upd:
1. Всем назначать id="delete" - так нельзя. Тогда уж id="delete"+j (косяк не только с кнопкой)
2. Если кнопка удаляет текущую строку, то можно (добавив в нее класс, к примеру)
$('input.del').live('click', function(){$(this).parents('tr').remove()})

//код надо проверить, пишу вслепую, но смысл думаю понятен

Или добавление не множественное, а один раз?

Последний раз редактировалось Serg_pnz, 21.06.2012 в 01:11.
Ответить с цитированием
  #6 (permalink)  
Старый 21.06.2012, 01:27
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Serg_pnz
1. Всем назначать id="delete" - так нельзя. Тогда уж id="delete"+j (косяк не только с кнопкой)
Лучше уж класс назначать ... Да мну на код даж не глядел - выправил для удобочитаемости
Скорее не низзя, а не корректно, даж на jQuery приходицо потом извращацо типо:
$("nput[id='delelete']").eq(2)

Последний раз редактировалось Deff, 21.06.2012 в 01:35.
Ответить с цитированием
  #7 (permalink)  
Старый 21.06.2012, 11:07
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Serg_pnz
div#sum это зачем??? id уникален.
вот когда jQuery умрет, тогда и ID перестанет быть уникальным ведь только он ищет один элемент по ID а не несколько если они одинаковы.. Хотя встроенный querySelectorAll возвращает все элементы с одним и тем же ID
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #8 (permalink)  
Старый 21.06.2012, 11:59
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

devote, минуточку! Пройдемся по понятиям!
Как это идентификатор может быть не уникальным?
Ответить с цитированием
  #9 (permalink)  
Старый 21.06.2012, 12:13
Аватар для Махач
Интересующийся
Отправить личное сообщение для Махач Посмотреть профиль Найти все сообщения от Махач
 
Регистрация: 24.04.2012
Сообщений: 19

Сообщение от Serg_pnz Посмотреть сообщение
upd:
1. Всем назначать id="delete" - так нельзя. Тогда уж id="delete"+j (косяк не только с кнопкой)
2. Если кнопка удаляет текущую строку, то можно (добавив в нее класс, к примеру)
$('input.del').live('click', function(){$(this).parents('tr').remove()})

//код надо проверить, пишу вслепую, но смысл думаю понятен
Я написал вот так
$('#delete').live("click", function () {
				var del = $(this).attr("del");
				var selector = '#resultMonitor > tbody #'+(del);
				$(selector).remove();
			});
но думаю то, что Вы написали корректнее =).
Сообщение от Serg_pnz Посмотреть сообщение
Или добавление не множественное, а один раз?
Добавление множественное.
Ответить с цитированием
  #10 (permalink)  
Старый 21.06.2012, 12:23
Аватар для Махач
Интересующийся
Отправить личное сообщение для Махач Посмотреть профиль Найти все сообщения от Махач
 
Регистрация: 24.04.2012
Сообщений: 19

я нашёл ошибку (видимо "утро вечера мудренее", всё таки работает ).
Я в div'е написал <div id="#sum"><span></span></div>.
Ответить с цитированием
Ответ


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

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