Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jQuery. Передача name'ов отмеченных checkbox'ов 
:(
    Опции темы
makis
  Дата 16.11.2007, 23:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.1.2007

Репутация: нет
Всего: нет



Доброго времени суток.
У меня следующая ситуация. Есть div, в который PHP-скриптом выводятся checkbox'ы. Каждый checkbox - это курорт. В другой div выводятся все имеющиес отели для всех курортов. Для каждого курорта имеется некоторое количество отелей, соответствуюшие именно ему. Хочу сделать, чтоб при отмечании одного из checkbox'ов отели, соответствующие ему попадали в соответствующий div. Это сделать несложно, когда знаешь какой checkbox был выбран.
Код

function addNumbers() {
    chk1 = имя_первого_отмеченого_чекбокса
    chk2 = имя_второго_отмеченого_чекбокса
    $("#hotels").load("select.php", { chk1: chk1, chk2: chk2 });
});

Однако выбрано может быть произвольное кол-во checkbox'ов... Вот я в затруднении как в этом случае передать PHP-скрипту имена отмеченных.
PM MAIL ICQ   Вверх
ksnk
Дата 17.11.2007, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Остался не понятным метод передачи параметров в select.php. Может просто массив передавать?.. Впрочем - непринципиально.
А так - вот. div - имя того самого элемента, в котором сидят нужные чекбоксы

Код

function addNumbers() {
  var result={}
  $("#div>input[type*='checkbox'][checked]").each(function(){
      result[this.name]=this.name
  })
  $("#hotels").load("select.php", result);
}




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
makis
Дата 17.11.2007, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.1.2007

Репутация: нет
Всего: нет



ksnk
Спасибо большое. Упорные мои поиски тоже увенчались успехом. Так и есть. Нужно было массивом передавать. Вот код, может быть кому-то пригодится:
Код

<script type="text/javascript"> 
function showHotels() { 
var tagsArray = new Array(); 
$("input:checked", resort).each(function(id) {  
    message = $("input:checked", resort).get(id);  
    tagsArray.push(message.id); 
    }) 
$("#hotels").load("resort.php", { 'resort[]': tagsArray }); 
} 
</script>

В четвёртой строке resort - это id того div'а, в который выводятся checkbox'ы с курортами.
PM MAIL ICQ   Вверх
ksnk
Дата 17.11.2007, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Хм... В документации написано, что второй параметр функции $ обязан быть элементом jQuery, так что просто id'ом скорее всего не обойтись, впрочем - не проверял...

5-я строчка лишняя, а вместо 6-й нужно написать 
    tagsArray.push(this.id); 



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
makis
Дата 17.11.2007, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.1.2007

Репутация: нет
Всего: нет



ksnk
Да вроде нет... Всмысле насчёт второго элемента идёт речь. Вот из документации пример:
Код

:input    Выбирает все элементы формы (input, select, textarea, button).
:text    Выбирает все текстовые поля (type="text").
:password    Выбирает все поля для ввода паролей (type="password").
:radio    Выбирает все радиокнопки (type="radio").
:checkbox    Выбирает все флаговые поля (type="checkbox").
:submit    Выбирает все кнопки для отсылки формы (type="submit").
:image    Выбирает все изображения на форме (type="image").
:reset    Выбирает все кнопки очистки формы (type="reset").
:button    Выбирает все остальные кнопки (type="button").

Код

$("#myForm :input")
$("input:radio", myForm)

Тут элемент jQuery может быть и первым и вторым...
А насчёт лишних строчек... Вроде всё и так работает. Так что трогать не буду. Пользуюсь правилом: работает!?!? - не трожь!

Добавлено через 12 минут и 11 секунд
ksnk
Случайно не знаете как посредством jQuery реализовать отмечание всех chekbox'ов и сняти галок с них по нажатию на ссылку?
Нашёл некий код, но не могу разобраться...
Код

// context = id of elements which contains checkboxes
// controller = DOMelement of ckeckbox controller
function checkall(context, controller){
    $("#"+context).find("input[@type$='checkbox']").not(controller).each(function(){
        // verify the state of checkbox controller and pass the state to others checkboxes
                this.checked = $(controller).checked;
    });
}


Это сообщение отредактировал(а) makis - 17.11.2007, 20:04
PM MAIL ICQ   Вверх
ksnk
Дата 17.11.2007, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Цитата(makis @  17.11.2007,  20:02 Найти цитируемый пост)
$("input:radio", myForm)

Второй параметр - myForm! ОН должен быть объектом jQuery...
Цитата(makis @  17.11.2007,  20:02 Найти цитируемый пост)
Вроде всё и так работает

Ну да, действительно,  почему бы не завести лишнюю глобальную переменную и лишний раз не заставить jQuery прошерстить весь документ... И так все работает...

Цитата(makis @  17.11.2007,  20:02 Найти цитируемый пост)
Нашёл некий код, но не могу разобраться...

Какая конкретно функция вызывает затруднение ? Может, документация поможет ?





--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
makis
Дата 17.11.2007, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 16.1.2007

Репутация: нет
Всего: нет



Цитата

Второй параметр - myForm! ОН должен быть объектом jQuery...

Да это же id элемента на странице... Будь то div, будь то input, будь то форма...
PM MAIL ICQ   Вверх
ksnk
Дата 17.11.2007, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 38
Всего: 386



Цитата(makis @  17.11.2007,  21:55 Найти цитируемый пост)
Да это же id элемента на странице... Будь то div, будь то input, будь то форма... 

Хм... В этом случае - да, можно и просто строковое значение. 
Это страшнее, чем PHP smile Неявные преобразования строки к элементу дизайна... 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.1669 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.