Получить массив из checkboxов
Я тестер, в скрипте ни бум-бум, но оч надо )
Есть код: <div id="subscribers" class="title_editable_list edit_mode"> <a class="icon_edit" onclick="toggleSubscribersMode(this, '/spaces/12/messages/5'); return false;" <ul> <li> <input id="role_38" class="notify_role" type="checkbox" value="38" onclick="subscribeRole(this, '/spaces/12/messages/5/notifiers/38')" name="role_38"/> <a href="/users/1">You</a> </li> <li> <input id="role_39" class="notify_role" type="checkbox" value="39" onclick="subscribeRole(this, '/spaces/12/messages/5/notifiers/39')" name="role_39"/> <a href="/users/2">Aaron Aaron</a> </li> ...... Надо получить массив из айдишников только чекнутых чекбоксов СПАСИБО! |
Лучше взять какой-нибудь фреймворк с CSS-селекторами. Ну или можно так:
var inputs = document.getElementsByTagName("INPUT"); var result = []; for (var i in inputs) { if (inputs[i].type == "checkbox" && inputs[i].checked == true) { result[] = inputs[i].id; } } Топорно и медленно. |
Цитата:
|
Зачем for (var i in inputs) если можно for (var i=0;i<inputs.length;i++) ??
|
ZoNT,
Ну не знаю. На 13 символов короче. |
а как у нас со скоростью выполнения for in и просто for???
|
ZoNT,
Посчитайте. Возможно просто for выиграет ценные сотые доли секунды в предложенном выше примере. |
30 сотых секунды - это конкретный лаг! Так что надо по возможности оптимизировать большие циклы... Правда, если чекбоксов будет меньше сотни, то можно и подзабить...
|
Андрей Параничев, прокомментируйте, пожалуйста,
Цитата:
|
Спасибо!!!
Огромное!)))
|
Часовой пояс GMT +3, время: 16:13. |