Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/95: Рейтинг темы: голосов - 95, средняя оценка - 4.80
201 / 150 / 44
Регистрация: 24.11.2013
Сообщений: 1,106
1

Проверка, выбран ли radio

18.09.2014, 11:13. Просмотров 19571. Ответов 12
Метки нет (Все метки)

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<div class="questionAnswers">
   <ul>
          <li><input type="radio" name="1ques" id="1ques" value="1"/>1<br></li>
          <li><input type="radio" name="1ques" id="1ques" value="2"/>2<br></li>
          <li><input type="radio" name="1ques" id="1ques" value="3"/>3<br></li>
          <li><input type="radio" name="1ques" id="1ques" value="4"/>4<br></li>
          <li><input type="radio" name="1ques" id="1ques" value="5"/>5<br></li>
   </ul>
</div>
div class="questionAnswers">
   <ul>
       <li><input type="radio" name="2ques" id="2ques" value="1" />1<br></li>
       <li><input type="radio" name="2ques" id="2ques" value="2"/>2<br></li>
       <li><input type="radio" name="2ques" id="2ques" value="3"/>3<br></li>
       <li><input type="radio" name="2ques" id="2ques" value="4"/>4<br></li>
       <li><input type="radio" name="2ques" id="2ques" value="5"/>5<br></li>
   </ul>
</div>
Javascript
1
2
3
4
5
6
7
8
9
function show(){
    var i;
    for(i=1;i<=2;i++){
        var perId=i+"ques";
        alert(perId);/*выводит "1ques" и "2ques"*/
        alert($("#perId").prop("checked"));
 
    }
}
Вопрос: Почему при проверке он пишет undefined? Но если написать такую строку
Javascript
1
alert($("#1ques").prop("checked"));
то работает правильно
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2014, 11:13
Ответы с готовыми решениями:

Как проверить input type="radio" на то, что он выбран?
&lt;div class=&quot;col-lg-4 col-md-4 col-xs-4 col-sm-4&quot;&gt; &lt;label class=&quot;btn btn-primary&quot;&gt; &lt;div...

Проверить, какой элемент radio выбран
Не могу понять, как проверить какой элемент radio выбран. Точнее как вызвать функцию проверки....

Проверить выбран ли input type=radio
Привет, ребят! Подскажите как решить такую задачу У меня есть радио кнопки выбрать можно только...

Не работает проверка radio на checked
Подскажите, пожалуйста. Хочу проверить, выбран radiobutton или нет, а мне пишет Cannot read...

12
412 / 377 / 220
Регистрация: 18.07.2014
Сообщений: 1,259
18.09.2014, 11:15 2
Давран, потому что у вас нет в верстке элемента с id=perId

если вы хотите динамически формировать нужный id, то нужно так

Javascript
1
2
3
var perId=i+"ques";
        alert(perId);/*выводит "1ques" и "2ques"*/
        alert($("#" + perId).prop("checked"));
1
201 / 150 / 44
Регистрация: 24.11.2013
Сообщений: 1,106
19.09.2014, 16:02  [ТС] 3
whiteapps, почему он показывает, что выбран если выбираешь только первый вариант. выбрав 2-5 вариант, пишет, что не выбран?

Добавлено через 7 минут
Точнее понятно, что он находит первый div с id="1ques". Видит, что он пустой и выдает результат, как сделать, что бы он провел все div с данным id
0
656 / 487 / 125
Регистрация: 22.04.2013
Сообщений: 3,275
Записей в блоге: 1
19.09.2014, 17:11 4
считаю , что идентификатор - он на то и идентификатор, чтоб быть одним
в вашем случае предлагаю такой вариант :
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div class="questionAnswers">
   <ul>
          <li><input type="radio" name="1ques" value="1"/>1<br></li>
          <li><input type="radio" name="1ques" value="2"/>2<br></li>
          <li><input type="radio" name="1ques" value="3"/>3<br></li>
          <li><input type="radio" name="1ques" value="4"/>4<br></li>
          <li><input type="radio" name="1ques" value="5"/>5<br></li>
   </ul>
</div>
<div class="questionAnswers">
   <ul>
       <li><input type="radio" name="2ques" value="1" />1<br></li>
       <li><input type="radio" name="2ques" value="2"/>2<br></li>
       <li><input type="radio" name="2ques" value="3"/>3<br></li>
       <li><input type="radio" name="2ques" value="4"/>4<br></li>
       <li><input type="radio" name="2ques" value="5"/>5<br></li>
   </ul>
</div>
Javascript
1
2
3
4
5
$("input[name='1ques']").click(function () {
   
        alert( $('input[name=1ques]:checked').val() );        
 
})
0
201 / 150 / 44
Регистрация: 24.11.2013
Сообщений: 1,106
19.09.2014, 17:28  [ТС] 5
Yulunga, как написать динамический скрипт, если таких вопросов не , а 10 и больше. Что бы он проверял, выбрал ли 1 из вариантов. Если не выбрано в каком то из вопросов, он выполнял одни действия, если нет, то другие
0
656 / 487 / 125
Регистрация: 22.04.2013
Сообщений: 3,275
Записей в блоге: 1
19.09.2014, 19:47 6
Давран, ну так не присваивать им всем один ИД
как вариант - 11ques, 12ques, ...
для второго соотв 21ques, 22ques, ...

что значит "не выбрано"? дайте определение. это радиокнопка, здесь всегда что-то выделено, и всегда в единственном количестве. это её неотъемлемое свойство такое.

и когда выполнял действия ? после нажатия потом на какоую-то кнопку сабмит?
тогда можно ( можно! я не думаю, что это правильно ) сделать глобальный массив и в него по клику на какой-то серии вопросов заводить в эту же переменную (name которая ) значение, на чём кликнули
ну и потом по сабмиту куда-то-там-передавать

п.с. это если я вообще о том говорю. ибо задача поставлена непонятно))
0
201 / 150 / 44
Регистрация: 24.11.2013
Сообщений: 1,106
19.09.2014, 19:54  [ТС] 7
Yulunga, Описываю задачу точнее. Есть опросник, состоящий, допустим из 10 вопросов. В каждом вопросе по 5 вариантов ответа. Допустим анкетируемый ответил на 9. Один из них он пропустил нечаянно. Мне надо, когда он нажимал кнопку(что бы отправить ответы), под вопросом на который он не ответил было написано, что он пропустил его. Потом он ответит на него, сообщение исчезнет и снова он будет нажимать кнопку.
0
656 / 487 / 125
Регистрация: 22.04.2013
Сообщений: 3,275
Записей в блоге: 1
19.09.2014, 22:36 8
с наскоку не получилось, прошу пардону
0
Обитатель
315 / 315 / 42
Регистрация: 24.12.2010
Сообщений: 795
20.09.2014, 12:13 9
Javascript
1
2
3
4
5
if($( 'input.radio:checked' ).val()){
console.log('1');
}else{
console.log('2');
}
http://jquery.page2page.ru/ind... 0%B8_radio
0
279 / 279 / 62
Регистрация: 28.08.2014
Сообщений: 432
20.09.2014, 20:10 10
У меня делалось так:

есть несколько групп радио-кнопок:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<div class="radios">
<span class="label">Класс котёнка</span>
  <input  type="radio" name="kittenclass" id="pet" value="pet">
  <label for="pet">домашний любимец (pet)</label>
  <input type="radio" name="kittenclass" id="breeding" value="breeding">
  <label for="breeding">для разведения (breeding)</label>
  <input type="radio" name="kittenclass" id="show" value="show">
  <label for="show">для разведения и выставок (show)</label>
  <div class="errordiv">Выберите класс животного!</div>
</div>
 
<div class="radios">
<span class="label">Пол котёнка</span>
  <input  type="radio" name="gender" id="genderf" value="девочка">
  <label for="genderf">Ж</label>
  <input type="radio" name="gender" id="genderm" value="мальчик">
  <label for="genderm">М</label>
  <div class="errordiv">Выберите один из вариантов!</div>
</div>
Проверка на то, что в каждой группе что-то выбрано:
Javascript
1
2
3
4
5
6
7
var errors = 0;
$("div.radios").each(function() {
  if ($(this).children("input:radio:checked").length==0) {
  $(this).children(".errordiv").show();
  errors++;
  }
});
Если errors = 0, форма отправляется, если нет - не отправляется.
Дивы с сообщениями об ошибках <div class="errordiv"> изначально скрыты - это прописано в css. Если на какой-то вопрос пользователь не ответил, <div class="errordiv">, расположенный под этой группой радио-кнопок, становится видимым.

Добавлено через 4 минуты
И еще надо добавить:
Javascript
1
2
3
4
5
6
// удаление сообщений об ошибках при помещении курсора в radio-поле
$(":radio").click(function(){
if ($(this).siblings(".errordiv")){
$(this).siblings(".errordiv").hide();
}
});
0
201 / 150 / 44
Регистрация: 24.11.2013
Сообщений: 1,106
23.09.2014, 22:59  [ТС] 11
ludmila-sv, Разобрал ваш скрипт, Спасибо. Но у меня почему то в shtorm ругается на элемент children, пишет Method expression is not of Function type. И сам скрипт не могу вписать под мою задачу
0
279 / 279 / 62
Регистрация: 28.08.2014
Сообщений: 432
24.09.2014, 00:04 12
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form id="quiz">
<div class="questionAnswers">
   <ul>
          <li><input type="radio" name="1ques" id="1ques" value="1"/>1<br></li>
          <li><input type="radio" name="1ques" id="1ques" value="2"/>2<br></li>
          <li><input type="radio" name="1ques" id="1ques" value="3"/>3<br></li>
          <li><input type="radio" name="1ques" id="1ques" value="4"/>4<br></li>
          <li><input type="radio" name="1ques" id="1ques" value="5"/>5<br></li>
   </ul>
<div class="errordiv">Выберите ответ!</div>
</div>
<div class="questionAnswers">
   <ul>
       <li><input type="radio" name="2ques" id="2ques" value="1" />1<br></li>
       <li><input type="radio" name="2ques" id="2ques" value="2"/>2<br></li>
       <li><input type="radio" name="2ques" id="2ques" value="3"/>3<br></li>
       <li><input type="radio" name="2ques" id="2ques" value="4"/>4<br></li>
       <li><input type="radio" name="2ques" id="2ques" value="5"/>5<br></li>
   </ul>
<div class="errordiv">Выберите ответ!</div>
</div>
<input type="submit" name="submit" value="Отправить"/>
</form>
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$("#quiz").submit(function(){
    var errors = 0;
$("div.questionAnswers").each(function() {
  if ($(this).find("input:radio:checked").length==0) {
  $(this).children(".errordiv").show();
  errors++;
  }
});
if(errors!=0) return false;
});
 
$(":radio").click(function(){
if ($(this).closest("ul").siblings(".errordiv")){
$(this).closest("ul").siblings(".errordiv").hide();
}
});
CSS
1
.errordiv {display:none;}
Тут работает: http://jsfiddle.net/7u0sd2e0/
2
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 30
28.12.2017, 18:26 13
Подскажите, а если в некоторых div radio, а в некоторых checkbox как нужно поправить скрипт?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2017, 18:26

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

проверка выбран ли файл
Приветствую. Загружаю файл на хостинг через конструкцию: &lt;input type=&quot;file&quot; name=&quot;userfile&quot;...

Проверка элемента, который выбран рандомно
Доброе время суток. Есть девять SpeedButton'ов, при нажатии на любой из них выбирается случайный...

Проверка, что в ComboBox выбран элемент
Добрый вечер!В Expression Blend 4 сделан WPF-прототип,есть несколько combobox-ов.Если в combobox-ах...

Проверка что в comboBox выбран элемент
Доброго времени суток!Делаю первый проект в vs c БД С#. Есть форма,на ней combobox-ы,заполненные из...

проверка выбора radio
Здравствуйте. Нужно создать форму, в которую вводятся два числа и выбирается значение «сложить» или...

Проверка checkbox и radio на заполнение
Как проверить checkbox и radio заполнены ли они или нет? Чтоб результат выводился на другую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.