Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не перезаписывает

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: JS
pantela
Отправлено: 26 Октября, 2015 - 04:29:30
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Имеется массив напр. из 4 объектов, напр. надо сохранить значение id в input всех объектов, только последний сохраняеться, другие затеряются... Как поправить чтобы не потерялись...

CODE (javascript):
скопировать код в буфер обмена
  1. for(var i = 0; i < result.length; i++) {
  2.         var id = result[i].id;
  3.  
  4.         // Save consular id to hidden input
  5.         $('input[name=consular_id]').val(id);
  6. }


Напр. если массив больше 2 объектов, тогда сохранять через запятую (напр. 132,145,178), а если один объект, можно сохранять в простом виде (напр. 132) Закатив глазки

(Отредактировано автором: 27 Октября, 2015 - 15:38:36)

 
 Top
pantela
Отправлено: 27 Октября, 2015 - 15:38:53
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




UP просто вопрос же )) Закатив глазки
 
 Top
IllusionMH
Отправлено: 27 Октября, 2015 - 15:43:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




pantela, нифига из описания не ясно. Но видно что значение всегда перезатирается. Нафига полностью перезатирать, если нужно взять предыдущее и что-то добавить в конец.
Да и вообще лучше собрать всё в строку тут и join есть, и потом уже разок изменить.
 
 Top
pantela
Отправлено: 27 Октября, 2015 - 16:04:50
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Что не ясно... Недовольство, огорчение Как-то надо сохранить из массива ID виде запятой (если их больше 1)
напр. пробую так...
Цитата:
for(var i = 0; i < result.length; i++) {
var id = result[i].id;

var str[i] = id;
var res = str[i].concat(str[i]);
}
console.log(res);
но что-то не то...
 
 Top
and_07
Отправлено: 27 Октября, 2015 - 16:08:05
Post Id


Гость


Покинул форум
Сообщений всего: 91
Дата рег-ции: Сент. 2012  


Помог: 3 раз(а)




как то так
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. var ids=  $('input[name=consular_id]').val();
  4. var arr = ids.split(',');
  5. for(var i = 0; i < result.length; i++) {
  6.         var id = result[i].id;
  7.  arr.push(id)
  8.         // Save consular id to hidden input
  9.        
  10. }
  11.  
  12.  $('input[name=consular_id]').val(arr.join(','));
  13.  

(Отредактировано автором: 27 Октября, 2015 - 16:09:27)

 
 Top
pantela
Отправлено: 27 Октября, 2015 - 16:17:33
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




спс, вот только сейчас сохраняеться в таком виде ,132,136,135 и ,132, а хотелось бы 132,136,135 и 132 - т.е. когда один объект и больше одного...
 
 Top
and_07
Отправлено: 27 Октября, 2015 - 16:21:19
Post Id


Гость


Покинул форум
Сообщений всего: 91
Дата рег-ции: Сент. 2012  


Помог: 3 раз(а)




ну так проверку напишите для ids
 
 Top
pantela
Отправлено: 27 Октября, 2015 - 16:25:41
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Так верно?
CODE (htmlphp):
скопировать код в буфер обмена
  1.                                 if(ids){
  2.                                         var arr = ids.split(',');
  3.                                 }else
  4.                                         var arr = ids.split('');


P.S. не в тему, но почему иногда, и правильно ли для else не делать фигурные скобки?
 
 Top
and_07
Отправлено: 27 Октября, 2015 - 16:27:26
Post Id


Гость


Покинул форум
Сообщений всего: 91
Дата рег-ции: Сент. 2012  


Помог: 3 раз(а)




ну как то так вроде
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var arr = (ids == '') ? [] : ids.split(',');
  3.  
 
 Top
andrewkard
Отправлено: 27 Октября, 2015 - 16:27:52
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




pantela пишет:
а хотелось бы 132,136,135 и 132 - т.е. когда один объект и больше одного...

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var arr = [132];
  3. console.log(arr.join(','));
  4. var arr = [132,133,134];
  5. console.log(arr.join(','));
  6.  
 
 Top
pantela
Отправлено: 27 Октября, 2015 - 16:36:12
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




спс, теперь стоит задача эти значения прогонять по for, и выводить текст напр. верно?
CODE (htmlphp):
скопировать код в буфер обмена
  1. var active_shape_id = $('input[name=consular_id]').val();
  2.                                         var data = active_shape_id.split(',')
  3.                                         for(var i = 0; i < data.length; i++) {
  4.                                                 console.log(data[i])
  5.                                         }


Тут теперь надо наоборот разбить это значения запятыми да...? Растерялся


P.S. Понимаю что всё можно было изначательно через JSON сделать, но боюсь всё перепутать...

(Отредактировано автором: 27 Октября, 2015 - 16:44:10)

 
 Top
IllusionMH
Отправлено: 27 Октября, 2015 - 17:12:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




pantela, можно и так если данные не содержат запятые. И как вы и сказали - лучше JSON если речь идет о взаимодействии с сервером
 
 Top
pantela
Отправлено: 27 Октября, 2015 - 17:28:47
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




взаимодействии с сервером нету, просто одна JS функция даёт ID, и второй надо передавать, вот и пришлось через hidden поле перестраивать...

На прямую передавать массив в функцию не получаеться т.к. только в определённую часть надо грузить массив.

P.S. Использую Google Map передаю массив в функцию initialize()

(Отредактировано автором: 27 Октября, 2015 - 17:30:01)

 
 Top
IllusionMH
Отправлено: 27 Октября, 2015 - 18:22:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




pantela, а не лучше ли разобраться и по-человеческе передавать при вызове функции, чем костылять через инпут скрытый?
Если не параметром, то хоть через общую переменную в замыкании передавать, либо использовать один из подходящих шаблонов проектирования.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB