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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как определить какой CheckBox отмечен 
:(
    Опции темы
MaruSya
Дата 6.11.2006, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Задача такая: 
из 64 CheckBox (нумерованы Value 01-78) отмечен только 1. Как определить какой именно был отмечен?
Причем  значение Value  CheckBox соответствует номеру элементу массива. И как можно отметить такой CheckBox, зная его номер (через соответствующий номер элемента массива)?
PM MAIL   Вверх
GZep
Дата 6.11.2006, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



Пройтись циклом по всем checkbox'ам и если он выбран, то завершить цикл.
Мена чек боксов:
Код

<form name="ИМЯ_ФОРМЫ">
<input type="checkbox" name="check_0">
<input type="checkbox" name="check_1">
<input type="checkbox" name="check_2">
</form>
<a href="javascript:checkbox();">узнать какой элемент выбран</a>

А вот скрипт:
Код

function checkbox() {
//проходимся циклом по чек боксам.
  for (i=0; eval("document.ИМЯ_ФОРМЫ.check_" + i + ".checked == false"); i++);
//отчет имен начинается с НУЛЯ
alert(i);
}


Еще по другому можно сделать - присваивать при нажатии на чекбокс с помощью onClick переменную с номером бокса. smile 


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
GIK
Дата 6.11.2006, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

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



Цитата(MaruSya)

Задача такая: 
из 64 CheckBox (нумерованы Value 01-78) отмечен только 1.

Как то сразу не врубишся, когда 64 чекбокса, а нумерация от 01 до 78, уже голова болит smile 
Опиши подробнеечто надо сделать.

Код

<html>
<head>
<script type="text/javascript">

var ar = [];

function To_drive_the_data(){
var ojects=document.getElementsByName("ch");
var len=ojects.length;

for(var i=0; i<len; i++){
 ar[i]=parseInt(ojects[i].value);
  }
for(var i=0; i<len; i++){
 alert(ar[i]);
  } 
}

function Checked(){
var ojects=document.getElementsByName("ch");
var len=ojects.length;

for(var i=0; i<len; i++){
 if(ojects[i].checked){
   alert("Checed"+ojects[i].value);
  }
 }
}
</script>
</head>
<body>
<input type="checkbox" value=01  name="ch">1</input><br>
<input type="checkbox" value=02  name="ch">1</input><br>
<input type="checkbox" value=03  name="ch">1</input><br>
<input type="checkbox" value=04  name="ch">1</input><br>
<input type="checkbox" value=05  name="ch">1</input><br>

<input type=button onClick="Checked()" value="проверка">
<input type=button onClick="To_drive_the_data()" value="забить данные">
</body>
</html>




--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
AKS
Дата 6.11.2006, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


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

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



GIK, 
Цитата

64 чекбокса, а нумерация от 01 до 78

А-а-а, классно!

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


участник Винграда
***


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

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



64 == 78 smile - что тут непонятного?

Да вот не понятно, что автор хотел нам сказать этими цифрами...Может он просто опЫчатался? smile  Напишите ему в личку, что-ли...Просто трудно помогать, когда не понимаешь, что требуется.


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
MaruSya
Дата 6.11.2006, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Про 78 - была опечатка!  smile 
Просто нумерация для таблицы 8х8 (от 01...08, 11..18  и т. д. до 78)
За ответ-спасибо.
А вто еще один вопрос:
как можно отметить чекбокс у которого, к примеру, ID=4?
Я пробовала так
for (i=1;i<n;i++)
    { 
     if (document.MyForm.sd[i].id=4)
        {
         document.MyForm.sd[i].checked=true;
        }
     }
}
Но отмечаются все!

А вообще мне надо реализовать задачу о 8-ми ферзях. Поле таблица, и чекбоксами отмечаются позиции нахождения ферзя.
Алгоритм нахождения координат я, вроде, нашла.
Возникли только заморочки с JS чекбоксами.
PM MAIL   Вверх
AKS
Дата 7.11.2006, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


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

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



MaruSya, 
Цитата

как можно отметить чекбокс у которого, к примеру, ID=4?

Или опять опечатка, или истина в document.getElementById('4'/* кстати, ID не должен начинаться с номера */).checked = true...
PM MAIL   Вверх
GZep
Дата 7.11.2006, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


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

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



Цитата

if (document.MyForm.sd[i].id=4)

Не верно! Надо:

Код

if (document.MyForm.sd[i].id==4)


А тут не легче использовать getElementByid?

Это сообщение отредактировал(а) GZep - 7.11.2006, 11:00


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
GIK
Дата 7.11.2006, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

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



Цитата(AKS)

Или опять опечатка, или истина в document.getElementById('4'/* кстати, ID не должен начинаться с номера */).checked = true... 

 smile  smile  smile 
AKS я когда вижу эту тему мне уже становится весело  smile 

MaruSya,  вобщем гляди  smile 
вот так if (document.MyForm.sd[i].id=4) к ID обращатся нельзя, это атрибут тега (объекта)
нужно так: document.MyForm.sd[i].getAttribute("имя атрибута"), он вернет значениеатрибута
вот пример
Код

<html>
<head>
<script type="text/javascript">
function Checked(){
alert(document.getElementById("cc").getAttribute('ccc')); 
} 
</script>
</head>
<body>
<input type=button onClick="Checked()" value="проверка">
<input type=text value="1212" ccc="asas" id="cc">
</body>
</html>








--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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