1 / 1 / 0
Регистрация: 03.04.2011
Сообщений: 18

Переменная в качестве ID элемента checkbox

03.04.2011, 08:55. Показов 7478. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.

Опыта работы с Jquery немного, потому прошу помощи.
Делаю расширенный поиск. Задача: при клике на один из чекбоксов нижнего окна - выбранный чекбокс с текстом дублируется в верхнем окне. Вставить получилось. Выглядит это примерно так:
1) [IMG]http://*************/clip/m0/1301804980-clip-2kb.png?nocache=1[/IMG]
2) [IMG]http://*************/clip/m0/1301805088-clip-3kb.png?nocache=1[/IMG]

Теперь надо, что если тыкаешь на этот же выделенный чекбокс в нижмем окне, то из верхнего - удаляется. Никак не могу сообразить, как это сделать.
Пытался удалить чекбокс, фильтруя его по ID:
JavaScript
1
$('#tarea2 input[id=this.id]').css('display','none');};
но в качестве параметра id походу нельзя использовать переменную или не так делаю. Если же задаю явно id чекбокса
JavaScript
1
$('#tarea2 input[id="nomer ID"]')
- то работает для этого чекбокса. Нужно именно как-то по параметру удалить.

Подскажите, если нетрудно, это можно как реализовать .. Может вообще не в ту сторону думаю?

На всякий случай, этот кусок кода полностью:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$(':checkbox').click(function(){
var checked=this.checked;
var elem=$(this).clone();
var textelem=$(this).parents('label:first').text();
if (checked) {
newid=this.id;
elem.attr('id',newid);
elem.appendTo('#tarea2'); 
$('#tarea2').append(textelem);
}
else {
var nameval=this.id;
if (newid=nameval) {$('#tarea2').append('ну ведь равны же!!');
$('#tarea2 input[id=this.id]').css('display','none');};
         
};
});
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.04.2011, 08:55
Ответы с готовыми решениями:

Переменная в качестве номера элемента массива. Array[Var]
Мне нужно изменяя некую переменную Var обращатся к различным элементам массива Array. Компилятор не выдаёт ошибок, но код выполняется...

Кнопка в качестве CheckBox
Как запомнить нажатие кнопки? Т.е. 1 раз нажали - пошло выполнение соответствующего кода и кнопка поменяла цвет, например из зеленои - в...

Переменная в качестве размера массива
Добрый вечер. Вопрос таков: мне нужно установить количество символов массива, равное переменной, но ошибка в том, что выражение должно...

6
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
03.04.2011, 09:31
Цитата Сообщение от qwaker Посмотреть сообщение
JavaScript
1
$('#tarea2 input[id=this.id]')
JavaScript
1
2
3
$('#tarea2 input[id="' + this.id + '"]')
$('#tarea2 input#' + this.id)
$('#' + this.id)
1
1 / 1 / 0
Регистрация: 03.04.2011
Сообщений: 18
03.04.2011, 15:39  [ТС]
Получилось!! Огромнейшее спасибо!

Добавлено через 1 час 50 минут
Появился еще вопрос.

Как сделать чекбокс, который при клике на себя - удаляется (скрывается)? Сначала сделал так:

JavaScript
1
2
3
4
$('#tarea2 :checkbox').click(function(){
$(this).css('display','none');
   $('#tarea2 label[for="'+this.id+'"]').empty();
});
Наверное, всё бы хороошо работало, если бы этот чекбокс создавался сразу при загрузке страницы, но он создается Jquery другой функцией и потому работает только если еще раз перезапустить скрипт, когда чекбоксы уже созданы.

JavaScript
1
2
3
4
$('#tarea :checkbox').click(function(){
var checked=this.checked;
var elem=$(this).clone();
        };
Попробовал также к чекбоксу, который должен появиться, добавить аттрибут onclick

JavaScript
1
2
3
4
elem.attr('onclick','fnclick()'); и прописал функцию function fnclick(){
    $(this).css('display','none');
    $('#tarea2 label[for="'+this.id+'"]').empty();
            };
но увы, не работает =( Подскажите, что не так? И как можно реализовать задачу?
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
03.04.2011, 17:15
Цитата Сообщение от qwaker Посмотреть сообщение
JavaScript
1
var elem=$(this).clone();
Попробуйте в .clone() передать true.
JavaScript
1
var elem=$(this).clone(true);
http://api.jquery.com/clone/
1
1 / 1 / 0
Регистрация: 03.04.2011
Сообщений: 18
03.04.2011, 22:45  [ТС]
С задачей справился, правда немного другим способом. Спасибо =)

Добавлено через 3 часа 2 минуты
Снова столкнулся с проблемой...

Есть список включенных чекбоксов. Когда выключаем чекбоксы, они исчезают -
JavaScript
1
2
$('#tarea2 input[id="'+newid+'"]').css('display','none');
$('#tarea2 label[for="'+newid+'"]').empty();
Задача - когда выключаем самый последний чекбокс (то есть поле #tarea2 на вид (!) осталось пустым) - появляется текст "Ничего не отмечено".

Как реализовать проверку на наличие активных (у которых display не равно none) чекбоксов ? Делал вот так, но не работает:
JavaScript
1
2
3
4
if (!($("#tarea2 input:checked")))
    {
    $('#tarea2').append('Не отмечено');
    };
И вот так тоже не работает:

JavaScript
1
2
3
4
if ($("#tarea2 input:checked").lenght=1)
    {
    $('#tarea2').append('Не отмечено');
    };
0
31 / 30 / 2
Регистрация: 26.01.2010
Сообщений: 124
Записей в блоге: 1
04.04.2011, 18:22
А полный код можно???
0
1 / 1 / 0
Регистрация: 03.04.2011
Сообщений: 18
04.04.2011, 19:50  [ТС]
Разобрался, всё работает =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.04.2011, 19:50
Помогаю со студенческими работами здесь

В качестве ключа массива переменная
Есть массив $Tasks=array('Николай'=>array('work1'=>'Настройка роутера','data1'=>'26.01.2019','time1'=>'8:00', ...

Переменная в качестве имени файла
Прошу прощения за совсем ламерский вопрос. Нужно имени файла присвоить значение переменной, чтобы этот файл-картинку выводить в браузер....

Переменная в качестве имени поля
Пытаюсь построить код для сравнения значения поля, вводимого пользователем с другими полями: Set delimitation =...

Переменная в качестве индекса массива
ума не приложу и не знаю как в гугле искать, подскажите может, кто использовал. $go = $_POST; echo '<td>' . $data ....

Переменная в массиве в качестве параметра?
Доброго времени суток всем. Возникла такая проблема. Понадобилось мне создать (в ходе исполнения программы) двумерный массив, который бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru