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

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

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

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

Опыта работы с 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2011, 08:55
Ответы с готовыми решениями:

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

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

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

В качестве ключа массива переменная
Есть массив $Tasks=array('Николай'=>array('work1'=>'Настройка...

6
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
03.04.2011, 09:31 2
Цитата Сообщение от 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  [ТС] 3
Получилось!! Огромнейшее спасибо!

Добавлено через 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
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
03.04.2011, 17:15 4
Цитата Сообщение от 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  [ТС] 5
С задачей справился, правда немного другим способом. Спасибо =)

Добавлено через 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 6
А полный код можно???
0
1 / 1 / 0
Регистрация: 03.04.2011
Сообщений: 18
04.04.2011, 19:50  [ТС] 7
Разобрался, всё работает =)
0
04.04.2011, 19:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2011, 19:50
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru