Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.09.2014, 13:06
Аспирант
Отправить личное сообщение для ShutTap Посмотреть профиль Найти все сообщения от ShutTap
 
Регистрация: 12.11.2012
Сообщений: 70

Получить массив объектов по имени
здравствуйте.
в jquery новичек - мягко сказано.
есть форма с таблицей с полями. из строки в строку поля повторяются, и имена заданы name[] . при отправки формы запускается скрипт, которые перебирает все name[] и сохраняет.
так же есть добавление нового поля, при нажатии на кнопку в эту таблицу заносятся значения из другой формы, так же расположенной на этой странице.
Возникла необходимость добавить еще одно поле, которое при добавлении данных из второй таблицы высчитывается на основе данных из первой.
В данном случае, при добавлении данных из второй таблицы в первую должны просмотреться все name[] из первой и в новую строку занести значение наибольшего значения name[] + 1.
потом первая таблица с новыми строками сохраняется в БД, но с этим проблем нет.
Вопрос в том, как получить массив значений элементов name[] для последующих манипуляций... пробовал по-всякому, читая в интернете, но как-то не очень мне понятно... прошу прощения за столь простой вопрос
Ответить с цитированием
  #2 (permalink)  
Старый 12.09.2014, 13:26
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Зачем столько букв ?
написал бы просто - "сделайте мне как надо"
естественно никакого кода приводить не нужно по тому что тебе так проще помочь
Ответить с цитированием
  #3 (permalink)  
Старый 12.09.2014, 13:33
Аспирант
Отправить личное сообщение для ShutTap Посмотреть профиль Найти все сообщения от ShutTap
 
Регистрация: 12.11.2012
Сообщений: 70

допустим,
<form>
<table>
<tr>
<td><input type="text" name="field1[]" value=""></td>
<td><input type="text" name="field2[]" value=""></td>
<td><input type="text" name="field3[]" value=""></td>
</tr>
<tr>
<td><input type="text" name="field1[]" value=""></td>
<td><input type="text" name="field2[]" value=""></td>
<td><input type="text" name="field3[]" value=""></td>
</tr>
<tr>
<td><input type="text" name="field1[]" value=""></td>
<td><input type="text" name="field2[]" value=""></td>
<td><input type="text" name="field3[]" value=""></td>
</tr>
</table>
</form>


как получить значения в виде массива для имен field1[], field2[], field3[] ?

пробовал (как понял из инета) так:
var field1 = $("field1[]");
allert (field1[3].value);

но естественно не работает у меня) как правильно?
Ответить с цитированием
  #4 (permalink)  
Старый 12.09.2014, 13:39
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

http://jquery.page2page.ru/index.php...83%D1%82%D0%B0
var fields = $("[name^='field']");

И вообще всякие скобки не надо в имена пихать

Последний раз редактировалось tsigel, 12.09.2014 в 13:43.
Ответить с цитированием
  #5 (permalink)  
Старый 12.09.2014, 14:03
Аспирант
Отправить личное сообщение для ShutTap Посмотреть профиль Найти все сообщения от ShutTap
 
Регистрация: 12.11.2012
Сообщений: 70

Так понимаю это общий массив для всех сразу field1[], field2[], field3[] ?
я имел в виду по отдельности для каждого field1[], field2[], field3[]
И на счет скобочек - даже если в имени они есть, в jq их не надо писать? просто скобочки были в коде, боюсь их убирать, да и много где они там))

далее значения получать как обычно, вроде fields[3].value ?
Ответить с цитированием
  #6 (permalink)  
Старый 12.09.2014, 14:35
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

не value, а val(), это же jQuery.
Поизучайте
Вот что вас интересует:
https://api.monosnap.com/image/downl...QFOQeFU45SoQTj

Последний раз редактировалось tsigel, 12.09.2014 в 14:40.
Ответить с цитированием
  #7 (permalink)  
Старый 12.09.2014, 15:03
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от ShutTap
Так понимаю это общий массив для всех сразу field1[], field2[], field3[] ?
я имел в виду по отдельности для каждого field1[], field2[], field3[]
var a1=document.getElementsByName('field1[]');
var a2=document.getElementsByName('field1[]');
var a3=document.getElementsByName('field1[]');

Сообщение от ShutTap
далее значения получать как обычно, вроде fields[3].value ?
Нет...
var a=document.getElementsByName('field1[]');
alert(a[0].value);
Ответить с цитированием
  #8 (permalink)  
Старый 12.09.2014, 15:35
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

ksa, переименовать забыл? Думаю, скорее так.

var a1=document.getElementsByName('field1[]');
var a2=document.getElementsByName('field2[]');
var a3=document.getElementsByName('field3[]');


<form>
<table>
<tr>
<td><input type="text" name="field1" value="1"></td>
<td><input type="text" name="field2" value="2"></td>
<td><input type="text" name="field3" value="3"></td>
</tr>
<tr>
<td><input type="text" name="field1" value="4"></td>
<td><input type="text" name="field2" value="5"></td>
<td><input type="text" name="field3" value="6"></td>
</tr>
<tr>
<td><input type="text" name="field1" value="7"></td>
<td><input type="text" name="field2" value="8"></td>
<td><input type="text" name="field3" value="9"></td>
</tr>
</table>
</form>

<script>
var a1=document.getElementsByName('field1');
var a2=document.getElementsByName('field2');
var a3=document.getElementsByName('field3');
alert(a1[0].value);
alert(a2[1].value);
alert(a3[2].value);
</script>
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #9 (permalink)  
Старый 12.09.2014, 15:41
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от trikadin
переименовать забыл?
Ага...
Ответить с цитированием
  #10 (permalink)  
Старый 12.09.2014, 16:55
Аспирант
Отправить личное сообщение для ShutTap Посмотреть профиль Найти все сообщения от ShutTap
 
Регистрация: 12.11.2012
Сообщений: 70

что-то не получается...
у меня 12 одинаковых полей name="field[]"
var num_tmp = $("[name='field[]]");

alert(num_tmp[10].val());

скрипт просто не выполняется...
пробовал и $("[name='field[]]") и $("[name='field]") и $("field[]") и $("field") ...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив объектов doox911 Библиотеки/Тулкиты/Фреймворки 6 16.01.2014 22:36
Получить массив из php d js freelancerphpcss jQuery 3 02.07.2013 15:29
Как получить javasript массив из php? dima_tr AJAX и COMET 6 01.02.2013 03:37
массив объектов bohdan Общие вопросы Javascript 2 29.02.2012 23:40
Массив объектов или объект объектов vladlen Общие вопросы Javascript 19 30.10.2010 03:10