Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.08.2013, 15:01
Интересующийся
Отправить личное сообщение для obscurant Посмотреть профиль Найти все сообщения от obscurant
 
Регистрация: 18.06.2012
Сообщений: 16

Смена id у элементов
Здравствуйте.
Есть такой кусочек jquery и таблица
<script>
$(document).ready(function() {
$('.delete').click(function() {
    var commentContainer = $(this);
    commentContainer.slideUp(
		'high', 
		function() 
		{
			$(this).remove();
		}
	);
});
</script>
<table id="prod_table" border="0">
<tr id="0" class="delete">
  <td><input name="articul_0"></td>
  <td><input name="name_0"></td>
  <td><input name="brand_0"></td>
  <td><input name="price_0"></td>
  <td><input name="count_0"></td>
  <td><span>Удалить</span></td>
</tr>

<tr id="1" class="delete">
  <td><input name="articul_1"></td>
  <td><input name="name_1"></td>
  <td><input name="brand_1"></td>
  <td><input name="price_1"></td>
  <td><input name="count_1"></td>
  <td><span>Удалить</span></td>
</tr>

<tr id="2" class="delete">
  <td><input name="articul_2"></td>
  <td><input name="name_2"></td>
  <td><input name="brand_2"></td>
  <td><input name="price_2"></td>
  <td><input name="count_2"></td>
  <td><span>Удалить</span></td>
</tr>

</table>


сейчас работает удаление строки из таблицы, если я кликаю по этой строке.
И у меня вопросы:
1. Как удалять строку, щелкнув не в любом месте строки, а только по span Удалить.
2. Как пересчитать окончание имен инпутов после очередного удаления строки. Т.е. если удалим строку вторую (с id = 1), то имена и id третьей (и последующих строк) пересчитались. Избавится от пробелов в очередности.
Ответить с цитированием
  #2 (permalink)  
Старый 09.08.2013, 15:28
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

зачем вам вообще эти id?
а скрипт так
$(document).ready(function() {
$('.delete span').click(function() {
    var commentContainer = $(this);
    commentContainer.slideUp(
        'high',
        function()
        {
            $(this).closest('tr').remove();
        }
    );
});
Ответить с цитированием
  #3 (permalink)  
Старый 09.08.2013, 15:34
Интересующийся
Отправить личное сообщение для obscurant Посмотреть профиль Найти все сообщения от obscurant
 
Регистрация: 18.06.2012
Сообщений: 16

аха... спасибо. ну id действительно не нужны наверное. я думал может к ним привязываться нужно будет.
а по второму вопросу не подскажете?
Ответить с цитированием
  #4 (permalink)  
Старый 09.08.2013, 15:43
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

Сообщение от obscurant
а по второму вопросу не подскажете?
а имена зачем ва такие? делайте массив пишите так
<table id="prod_table" border="0">
<tr id="0" class="delete">
  <td><input name="articul[]"></td>
  <td><input name="name[]"></td>
  <td><input name="brand[]"></td>
  <td><input name="price[]"></td>
  <td><input name="count[]"></td>
  <td><span>Удалить</span></td>
</tr>
 
<tr id="1" class="delete">
  <td><input name="articul[]"></td>
  <td><input name="name[]"></td>
  <td><input name="brand[]"></td>
  <td><input name="price[]"></td>
  <td><input name="count[]"></td>
  <td><span>Удалить</span></td>
</tr>
 
<tr id="2" class="delete">
  <td><input name="articul[]"></td>
  <td><input name="name[]"></td>
  <td><input name="brand[]"></td>
  <td><input name="price[]"></td>
  <td><input name="count[]"></td>
  <td><span>Удалить</span></td>
</tr>
 
</table>
Ответить с цитированием
  #5 (permalink)  
Старый 09.08.2013, 15:54
Интересующийся
Отправить личное сообщение для obscurant Посмотреть профиль Найти все сообщения от obscurant
 
Регистрация: 18.06.2012
Сообщений: 16

я слабенько в jquery и javascript разбираюсь. не могли бы разжевать?
и как это сделать после удаления строки? $('#prod_table tr').each(function()
именно чтобы последовательность сохранялась. чтобы при сабмите знать какие поля можно дергать
Ответить с цитированием
  #6 (permalink)  
Старый 09.08.2013, 16:10
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

в смысле причем здесь javascript и jquery? при отправки этих полей формой на сервер у вас выстроится массив, остальное обрабатывайте на сервере, вам же эти поля для отправки данных на сервер нужны?

$articul = $_POST['articul'];

// вот ваша последовательность
$articul[0]; // 1-ый input name=articul
$articul[1]; // 2-ой input name=articul
$articul[2]; // 3-ий input name=articul
...
// ну и т.д.
Ответить с цитированием
  #7 (permalink)  
Старый 09.08.2013, 16:25
Интересующийся
Отправить личное сообщение для obscurant Посмотреть профиль Найти все сообщения от obscurant
 
Регистрация: 18.06.2012
Сообщений: 16

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод случайных элементов из массива в таблицу Narm0 Общие вопросы Javascript 10 06.08.2013 12:39
Удалить и вернуть массив из удаленных элементов splice Paulyyy Общие вопросы Javascript 15 29.05.2013 15:36
запретить изменение количество элементов в списке Antistas jQuery 0 05.12.2012 14:05
Сгенерировать 2 последовательности и узнать сколько в них одинаковых элементов Ирина Владимировна Общие вопросы Javascript 10 24.03.2012 18:18
Смена порядка элементов AnToxa Элементы интерфейса 27 08.09.2011 17:05