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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отметка нужных чекбоксов 
:(
    Опции темы
serezhka1986
Дата 26.1.2012, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Есть массив значений. Мне необходимо отметить все чекбоксы value которых равны элементам массива.
Например, массив a = [68, 95, 110, 121]. Необходимо отметить такие чекбоксы
Код

<input type="checkbox" value="68"/>
<input type="checkbox" value="95"/>
<input type="checkbox" value="110"/>
<input type="checkbox" value="121"/>

Я думаю необходимо запустить цыкл с перебором элементов массыва и в нем отмечать нужные чекбоксы, но я не знаю как отметить именно нужный чекбокс. Подскажите как реализовать такую задачу!  smile 
--------------------
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть жопой на клавиатуру... 
PM   Вверх
$дмитрий
Дата 26.1.2012, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

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



PM MAIL   Вверх
ksnk
Дата 26.1.2012, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



На jQuery это можно записать так
Код

var arr=[68, 95, 110, 123]
$('input:checkbox').filter('[value='+arr.join('],[value=')+']').attr('checked','checked');

 


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


Бывалый
*


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

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



Это получается что и цыкла не надо?
--------------------
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть жопой на клавиатуру... 
PM   Вверх
ksnk
Дата 26.1.2012, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



serezhka1986, Самому писать цикл не надо, хотя что делается внутри jQuery, лучше не озвучивать  smile 


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


Бывалый
*


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

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



Че-то не работает. Консоль хрома выдает Uncaught TypeError: Object function Array() { [native code] } has no method 'join'
--------------------
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть жопой на клавиатуру... 
PM   Вверх
serezhka1986
Дата 26.1.2012, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Че-то не работает. Консоль хрома выдает Uncaught TypeError: Object function Array() { [native code] } has no method 'join'
--------------------
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть жопой на клавиатуру... 
PM   Вверх
Krotlev
Дата 26.1.2012, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

<html>
<head>
    <title></title>
    <script type="text/javascript">
        if (!Array.prototype.indexOf)
            Array.prototype.indexOf = function(value) {
                for (var i = 0; i < this.length; i++)
                    if (this[i] === value)
                        return i;
                return -1;
            }

        function checkIt() {
            var arr = document.getElementById('checkedItems').value.split(/,\s*/);
            var items = document.getElementById('items');
            var checkboxes = items.getElementsByTagName('input');

            for (var i = 0; i < checkboxes.length; i++)
                checkboxes[i].checked = arr.indexOf(checkboxes[i].value) != -1;
        }

        window.onload = function() {
            var itemsEl = document.getElementById('items');
            for (var i = 1; i < 100; i++)
                itemsEl.innerHTML += '<input name="checkbox" type="checkbox" value="' + i + '">' + i + '<br>\n';
        }
    </script>
    <style type="text/css">
        .toolbox {
            position: fixed; float: left; top: 50px; left: 100px;
            border: solid 1px Silver; background: #f5f5f5; padding: 5px;
        }
        .toolbox span { cursor: pointer;  }
    </style>
</head>
<body>
<div class="toolbox">Values <input id="checkedItems" type="text" value="1, 10, 34" size="10">
    <span onclick="checkIt()">Check!</span></div>
<div id="items">
</div>
</body>
</html>

PM MAIL   Вверх
ksnk
Дата 26.1.2012, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(serezhka1986 @  26.1.2012,  17:10 Найти цитируемый пост)
 Консоль хрома выдает Uncaught TypeError: Object function Array() { [native code] } has no method 'join' 

Такое бывает, если написать Array.join, а не так как у меня.


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


Бывалый
*


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

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



Не, ошибка не в том была. Я просто запхал массив php в javascript. Сформировал массив вида [1,2,3,4,5] и все нормально работает. Спасибо! Вы как всегда на высоте!  smile 
--------------------
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть жопой на клавиатуру... 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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