За последние 24 часа нас посетили 17617 программистов и 1651 робот. Сейчас ищет 1481 программист ...

document.getElementById если много элементов с разными id?

Тема в разделе "JavaScript и AJAX", создана пользователем megaultraseo, 19 янв 2011.

  1. megaultraseo

    megaultraseo Активный пользователь

    С нами с:
    21 ноя 2010
    Сообщения:
    8
    Симпатии:
    0
    Адрес:
    Мимино
    Здравствуйте, премногоуважваемые форумчане. Вопрос наверняка банальный, но в javascript'ах я не шарю ни разу, поэтому стесняюсь спросить: есть метод, который меняет класс объекта:
    Код (Text):
    1. function logincheckboxCheck () {
    2. if (document.getElementById("st_116").checked) {
    3. document.getElementById("checkboxDiv_116").className="checkboxOn";
    4. }
    5. else {
    6. document.getElementById("checkboxDiv_116").className="checkboxOff";
    7. }
    8. }
    Как мне быть? У меня много st_116 и checkboxDiv_116, т.е. от 1 до 150 примерно? Расскажите пожалуйста вариант попроще, чтобы это все работало для каждого элемента? Подозреваю что нужен перебор циклом, но как?
    Заранее благодарен!
     
  2. megaultraseo

    megaultraseo Активный пользователь

    С нами с:
    21 ноя 2010
    Сообщения:
    8
    Симпатии:
    0
    Адрес:
    Мимино
    Может нужно вместо getelementById использовать getElementsByTagName('input').checked?
     
  3. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    function logincheckboxCheck (num) {
    var obj = document.getElementById("st_"+num);
    obj.className= (obj.checked) ? "checkboxOn" : "checkboxOff";
    }

    for (i = 1; i <= 150; i++) {
    logincheckboxCheck (i)
    }
     
  4. megaultraseo

    megaultraseo Активный пользователь

    С нами с:
    21 ноя 2010
    Сообщения:
    8
    Симпатии:
    0
    Адрес:
    Мимино
    Огромнейшее спасибо.. буду пробовать..
    P.S. Побольше бы таких отзывчивых..
     
  5. megaultraseo

    megaultraseo Активный пользователь

    С нами с:
    21 ноя 2010
    Сообщения:
    8
    Симпатии:
    0
    Адрес:
    Мимино
    Ничего не происходит <input type="checkbox" onchange="add_m2('м. Динамо','3')" value="3" onclick="logincheckboxCheck();" id="st_3" name="st_3">, всмысле класс не меняется..
     
  6. megaultraseo

    megaultraseo Активный пользователь

    С нами с:
    21 ноя 2010
    Сообщения:
    8
    Симпатии:
    0
    Адрес:
    Мимино
    Вообзе задумка такая:
    Код (Text):
    1. <div class="checkboxOff" id="checkboxDiv_3"><input type="checkbox" onchange="add_m2('м. Динамо','3')" value="3" onclick="logincheckboxCheck();" id="st_3" name="st_3">м. Динамо</div>
    Когда чекбокс отмечен, должен меняться <div class="checkboxOff" на "checkboxOn"
     
  7. megaultraseo

    megaultraseo Активный пользователь

    С нами с:
    21 ноя 2010
    Сообщения:
    8
    Симпатии:
    0
    Адрес:
    Мимино
    Ну что никто не хочет решать чужие проблемы :) В итоге поступил тупейшим образом :
    [js]function logincheckboxCheck102 () {
    if (document.getElementById("st_102").checked) {
    document.getElementById("checkboxDiv_102").className="checkboxOn";
    }
    else {
    document.getElementById("checkboxDiv_102").className="checkboxOff";
    }
    }
    function logincheckboxCheck103 () {
    if (document.getElementById("st_103").checked) {
    document.getElementById("checkboxDiv_103").className="checkboxOn";
    }
    else {
    document.getElementById("checkboxDiv_103").className="checkboxOff";
    }
    }
    function logincheckboxCheck105 () {
    if (document.getElementById("st_105").checked) {
    document.getElementById("checkboxDiv_105").className="checkboxOn";
    }
    else {
    document.getElementById("checkboxDiv_105").className="checkboxOff";
    }
    }[/js] ну и так далее...