Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Работа над сайтом > HTML/DHTML/CSS/JS/VB

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.11.2015, 04:09
exsites вне форума Посмотреть профиль Отправить личное сообщение для exsites Найти все сообщения от exsites
  № 1  
Ответить с цитированием
exsites

Регистрация: Nov 2015
Сообщений: 46
По умолчанию Массив данных

Привет,

Отправляю ajax ом данные на сервер.

Данные берутся из чекбоксов:

PHP код:
var c0 = $('form input:checked#c0').val();
var 
c1 = $('form input:checked#c1').val();
var 
c2 = $('form input:checked#c2').val();
var 
c3 = $('form input:checked#c3').val();
var 
c4 = $('form input:checked#c4').val();
var 
rds = new Array(c0,c1,c2,c3,c4); 


А это приходит на сервер:
PHP код:
Array
(
    [
rd] => Array
        (
            [
0] => 
            [
1] => on
        
)

    [
hstr] => 
    [
dstr] => 
Как бы мне сделать так что бы при отметке второго элемента первый вообще на сервер не посылался..?
что бы вместо этого:
PHP код:
            [0] => 
            [
1] => on 
отправилось только это:

PHP код:
            [1] => on
            
[4] => on 
элементы 0 2 3 не отправлялись вообще?

Старый 17.11.2015, 06:18
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Кэп мне тут подсказывает, что нужно проверить значение чекбокса, перед тем, как заталкивать его в массив.
Как-то так примерно
Код AS3:
var rds = new Array();
for (var i = 0; i < 5; i++) {
      var checkBox = $('form input:checked#c' + i);
      if (checkBox.val()) rds.push(checkBox);
}
Может где-то не так написал, давненько с JS не работал. Но, думаю суть понятна

Старый 17.11.2015, 06:40
exsites вне форума Посмотреть профиль Отправить личное сообщение для exsites Найти все сообщения от exsites
  № 3  
Ответить с цитированием
exsites

Регистрация: Nov 2015
Сообщений: 46
я в итоге вот так сделал... работает.

PHP код:
var rds = {};

if ($(
'form input:checked#c0').val()) {
    
rds["0"] = 'on';
}
if ($(
'form input:checked#c1').val()) {
    
rds["1"] = 'on';
}
if ($(
'form input:checked#c2').val()) {
    
rds["2"] = 'on';
}
if ($(
'form input:checked#c3').val()) {
    
rds["3"] = 'on';
}
if ($(
'form input:checked#c4').val()) {
    
rds["4"] = 'on';

Потом попробую ваш вариант. Спасибо.

Старый 17.11.2015, 08:16
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
я в итоге вот так сделал... работает.
Зачем городить столько однотипного кода? Если названия чекбоксов отличаются только цифрой в конце, то цикл - самый лучший выход. А если бы их было не 5, а штук 100?

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 06:10.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.