![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Viroman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 28.7.2008 Репутация: нет Всего: нет |
Привет задался вопросом, как без шлейфа отпроса по гетэлементбайнэйм получить уже при клике на радиобокс его индексное значение.
А именно, предположим имеем два радиобокса с одинаковым именем. До сих пор мне приходится заполучать элементы по имени и проверять, зачекованы они или нет, вот для select есть возможность сразу выдать индекс выбора, а для одинаковых по имени радиобоксов?? Или даже чекбосков тоже... |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 15 Всего: 315 |
а зачем тебе его индекс. мож сразу указатель?
onclick="myfunc(this)"; |
|||
|
||||
| Viroman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 28.7.2008 Репутация: нет Всего: нет |
Вот то, что это можно, это понятно, но только мне надо потом после перегрузки страницы снова ставить его состояние, в зависимости от того, был ли он чекед или унчекед. А при каждом клике делать обход всех радиобоксов с этим именем и проверять, чекованы ли они, уж слишком накладно, вот и думал, а есть ли возможность сразу индексовый номер его разузнать, ведь должно быть нечто такое..
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 15 Всего: 315 |
а что значит после перезагрузки? серверным скриптом проверять? - обычное дело. накладно не накладно, раз надо так надо
Добавлено через 35 секунд тем более что на серверной стороне индекс узнать можно при грамотном формировании атрибутов боксов |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
Как вариант - ловить клик не на каждом боксе/баттоне, а на контейнере всей группы. И анализировать target/srcElement этого клика. Если он и есть бокс/баттон (либо его label) - считывать с него все, что требуется...
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 3 Всего: 60 |
записывай все id значения покоторым ты кликал потом в куки через "," при следующей обновление страницы разбивай на масив-1 проходишь циклом по форме или по всему документу.. ищешь id из списка если нашел ставишь чекет.
-------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
| Viroman |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 28.7.2008 Репутация: нет Всего: нет |
Ей Богу, какая разница, грамотно, неграмотно, накладно, не накладно, спросил, есть возможность, да или нет, ну нет желания гнать циклы, если существует другая возможность.. Если нет, так нет, завяжу с этим делом.
Я уже всё давным давно сделал, и всё работает шикарно у меня, и ничего не надо выдумывать, однако меня интересовала возможность сама как таковая, создаёт ли яваскрипт заведомо индекс номера тех радиобоксов по их имени. Ведь просто посудите, если имя одно дашь многим радиобоксам, то оно идёт как выбор, между несколькими, что значит, яваскрипт где то для себя их индексирует, и вопрос заключался только в том, где он это делает и как это можно прочитать уже при клике не отпрашивая каждый радиобокс из группы радиобоксов с этим именем, кликован или нет. До сих пор в инете только циклический отпрос указывался и он у меня так и реализован.. а хочется сразу, если хоть кто то из вас знает об этом, но похоже никто... тоже гоните пустые, текстовые циклы |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 15 Всего: 315 |
аки бес в тебя вселился
между прочим, SelenIT, предложил решение без проходов цикла. по каждому клику ловишь элемент и записываешь куда там тебе надо |
|||
|
||||
| Viroman |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 28.7.2008 Репутация: нет Всего: нет |
А вы, батенька, неисправимы, хотя даже и на горбатых есть порука
Что это мне даст? Смогу ли я с него считать его индекс номер? Есть ли рабочий пример? До сих пор делаю примерно так, при клике передаю this, оттуда theform и name, а потом .. var f=theform.elements[name].length; for(var x=0; x<f; x++) { if(theform.elements[name][x].checked==true) { index=x; } } } и получаю index клика. Исходите из того, что сажаю по document.forms[0].elements[name][0].checked=true; или document.forms[0].elements[name][1].checked=true; и так далее.. И вот подумалось мне, это если ещё мало этих радиобоксов, жить можно, а с большим количеством жизни не будет. И как индекс сразу разузнать.. |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 15 Всего: 315 |
да, горбатого исправит, ломом
|
|||
|
||||
| Viroman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 28.7.2008 Репутация: нет Всего: нет |
value уже занят другими значениями, и это не вариант.
Я могу с таким же успехом ему titlе наполнить, но опять же, ещё повторюсь, это всё обходной мазохизм, а не ответ.. Это сообщение отредактировал(а) Viroman - 30.7.2008, 14:59 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 15 Всего: 315 |
ну блина, то не этак, эдак не то. может тебе индекс надо узнавать по взмаху волшебной палочки?
индекс - понятие принадлежащее не элементу чекбокс, а тому элементу относительно которого считаются индексы. заверни две группы боксов внутрь двух разных форм. получается один бокс имеет один индекс относительно формы и другой относительно <body>. js никак не контроллирует все возможные комбинации и индексы, ибо глупая растрата ресурсов. value при желании можешь вынести в массив, а в атрибут ввести именно индексный параметр, имхо даже лучше будет, т.к. ты сам контроллируешь этот процесс. и никаких проблем |
|||
|
||||
| Viroman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 28.7.2008 Репутация: нет Всего: нет |
Получается, когда хочу посадить document.forms[0].elements[name][0].checked, то он по взмаху, а когда хочу прочитать, то взмах не получается :( Ну ладно, бросаю эту затею, никто не знает, значит не знает. |
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Нет такого свойства у массива радиокнопок.
Аналог у <select> есть - selectedIndex, а у них нет. Поэтому делают циклы или ловят клики (последнее вроде бы не полно, т.к. могут подобраться кнопками "вверх-вниз" и "Tab", потом сменить нажатием пробела, но, как ни странно, работает код ниже при всех случаях смены выделения).
Добавлено через 2 минуты и 9 секунд (Правда, немного по-разному в Ie/FF, исправляется плясками с setTimeout.) -------------------- Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |