Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Изменение параметра name у всех input. (https://javascript.ru/forum/jquery/45167-izmenenie-parametra-name-u-vsekh-input.html)

danik.js 17.02.2014 17:40

xTODx, а нафига все эти пляски? Нафиг менять name?
Я почему-то уверен что этого делать не нужно, и все решается проще.

danik.js 17.02.2014 17:43

Цитата:

Сообщение от xTODx
разумно?

Это слово тут точно не уместно))
А зачем каждые n секунд менять номера? И зачем в $_POST что-то проверять в цикле? Если не в курсе, то в $_POST можно передать поля ввиде массива, это такая фишка php-шная(не только) :)
<input name="name[]">
<input name="name[]">

var_dump($_POST);

xTODx 17.02.2014 21:57

та понятно что каждые n секунд не буду обновлять номера, только когда действие произошло какое то, временно поставил просто.
По поводу name="name[]" это спасибо.
правда всё-равно в цикле foreach нужно работать будет, буду отправлять в базу данных, с каждого)))
Только скорее всего будет
name="1['name']"
и т.д.)) потому что нужно по будет брать массив $_POST[1], 2 и т.д.
и каждая ячейка будет ещё иметь параметры name и т.д.

p.s: функцию нумерации вызываю при наведении на кнопку, которая при нажатии передаёт данные в php

danik.js 17.02.2014 22:04

Так че в итоге, избавился от ручной нумерации name'ов?

xTODx 17.02.2014 22:53

нет, всё на много важнее. у меня дрегбатлом и сортаблом, перетаскиваю нужные элементы в поле, они сортируются, в них есть некие параметры, которые либо каждому блоку изначально свои заданы, а некоторые меняются юзером, потом выбраные сохраняются)

xTODx 18.02.2014 10:48

function sorta(){
 $("#sortable li").each(function(i){
	 numb = (++i);
	 	$(this).find("input").each(function(){
			var names = $(this).attr('name');
		names = names.replace(/[^a-z]/g, '');
		names = names.replace(']', '');
		names = names.replace('[', '');
			$(this).attr('name', numb+'['+names+']');
			});
	});
 }

Вот конечный код) нумерует все input в #sortable li одним номером, в следующем таком #sortable li, следующим номером

danik.js 18.02.2014 12:29

То есть на странице порядок самих инпутов остается неизменным. "Сортируются" просто их имена, верно?

xTODx 18.02.2014 16:27

ну тот который мы поставили первым, и будет первым, переставим его на второе место, будет вторым)

danik.js 18.02.2014 16:32

xTODx, ок. А зачем менять их имена? Они же и так в массиве будут в том порядке, в котором расположены на странице?

xTODx 18.02.2014 22:38

в каждом элементе сортабл, есть поля с одним и тем же name. как я с $_POST вызову $_POST['name']??? )


Часовой пояс GMT +3, время: 21:32.