Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.03.2013, 21:31
Новичок на форуме
Отправить личное сообщение для vaiswall Посмотреть профиль Найти все сообщения от vaiswall
 
Регистрация: 19.03.2013
Сообщений: 2

Проверить value чекбоксов
Доброе время суток!
Столкнулся с такой проблемой!
допустим имеется несколько инпутов-чекбоксов
<input type="checkbox" name="chekchek[]" value="Посудомоечная машина">&nbsp;&nbsp;Посудомоечная машина<br>
            <div class="e43"></div>
            <input type="checkbox" name="chekchek[]" value="Камин">&nbsp;&nbsp;Камин<br>
            <div class="e43"></div>
            <input type="checkbox" name="chekchek[]" value="Персональный компьютер">&nbsp;&nbsp;Персональный компьютер<br>
            <div class="e43"></div>

Делаем волшебство с аякс
$(document).ready(function(){
            $.post("chek.php",
                {
                    param1:'<?echo $_GET['id_mess'];?>'
                },
                function(data,status){
                    vh(data);
                });
        });

В ответ получаем строку. Разбиваем ее на массив, в каждой ячейки значение, которое есть в value chekbox нашей формы.
Описываем функцию, в которую передали нашу строку
function vh(a)
    {
        var r = a.split(',');
        var mas=document.querySelectorAll("input[type='checkbox']")
        var len=mas.length;
        var len2= r.length;
        for (var t=0; t<=len2; t++)
        {
        for(var i=0;i<len;i++)
        {
            alert (mas[i].value);
            alert (r[t]);
            if (mas[i].value == r[t]){
                mas[i].checked = true;
            }
        }
        }
    }

Совпадающие значения value чекбоксов с элементами массива должны быть чекнуты. Однако, чекуется 1 первый совпавший элемент массива. Дальше дело не идет. Что делать? Заранее спасибо за помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 19.03.2013, 21:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 30,447

Сообщение от vaiswall
t<=len2
тут равно ненужно -- а так всё работает ... но можно чуть иначе 2 цикла вместо множества циклов
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
</head>

<body>
<input name="" type="checkbox" value="test">
<input name="" type="checkbox" value="test">
<input name="" type="checkbox" value="test">
<input name="" type="checkbox" value="next">
<input name="" type="checkbox" value="next">
<input name="" type="checkbox" value="go">
<script>
function vh(b) {
    var a = b.split(",");
    b = document.querySelectorAll("input[type='checkbox']");
    for (var e = b.length, f = a.length, d = {}, c = 0; c < f; c++) d[a[c]] = !0;
    for (a = 0; a < e; a++) d[b[a].value] && (b[a].checked = !0)
};
vh('test,go')
</script>
</body>

</html>
Ответить с цитированием
  #3 (permalink)  
Старый 20.03.2013, 11:55
Новичок на форуме
Отправить личное сообщение для vaiswall Посмотреть профиль Найти все сообщения от vaiswall
 
Регистрация: 19.03.2013
Сообщений: 2

у меня почему-то чекается только 1 элемент...
Ответить с цитированием
  #4 (permalink)  
Старый 20.03.2013, 12:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 30,447

vaiswall,
чему равна data?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чекбокс (переключатель группы чекбоксов) DVNSA Общие вопросы Javascript 6 15.08.2011 13:38
Как проверить что сервер безошибочно выполнил запрос php? PAMAC Серверные языки и технологии 7 20.02.2010 08:10
как проверить, есть ли переменная Аскар Общие вопросы Javascript 3 04.01.2010 16:09
Как проверить существование функции Aderba Общие вопросы Javascript 2 14.11.2008 15:09
проверить имя загруженного рисунка itmgk Элементы интерфейса 1 07.09.2008 12:29