Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2015, 21:30   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
Вопрос RadioGroup и Swicth

Доброго времени суток!
Есть
options.html
PHP код:
<html>
<
head>
  <
meta charset="utf-8">
  <
title></title>
</
head>
<
body>
  <
div id="menu">
    <
input type="radio" name="RadioGroup" id="RadioGroup_0" value="0">Item 1</label>
  <
br>
    <
input type="radio" name="RadioGroup" id="RadioGroup_1" value="1">Item 2</label>
  </
div>

  <
div id="menu">
    <
div id="status"></div>
    <
button id="BtnSave">Сохранить</button>
  </
div>

  <
script src="js/options.js"></script>
</body>
</html> 
popup.html
PHP код:
<html>
<
head>
  <
meta charset="utf-8">
  <
title></title>
</
head>
<
body>
  <
div id="menu"><a href="#" class="button" id="BtnCheck">Проверить</a></div>
  
  <
script src="js/popup.js"></script>
</body>
</html> 
options.js
PHP код:
document.addEventListener("DOMContentLoaded", function() {
  
document.getElementById("BtnCheck").addEventListener("click"ButtonCheck);
});

function 
ButtonCheck() {
    var 
elements document.getElementsByName('RadioGroup');
    switch (
elements.value) {
      case 
0:
        
alert("0");
        break;
      case 
1
        
alert("1");
    } 
  });

Задача заключается в том, чтобы получить ItemIndex отмеченного RadioButton и дальше выполнить действие. Почти как в Delphi
Код:
procedure TForm28.RadioGroup1Click(Sender: TObject);
begin
  case RadioGroup1.ItemIndex of
  0:; // Something
  1:; // Something
  end;
end;
Так же задача усложняется тем, что требуется проверить состояние контрола на другой html страничке.

Последний раз редактировалось Shouldercannon; 12.03.2015 в 22:09.
Shouldercannon вне форума Ответить с цитированием
Старый 12.03.2015, 22:20   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Если "другая html страничка" находится на одном домене, то сохраняй состояния в куки, локал-сторейдж или через сервер, или через сервер + сокеты.
Клик - не единственный способ сменить состояние радио/чекбокса, юзай чендж.

Как получить индекс? - любое событие навешанное на элемент будет выполняться в контексте этого элемента, дергай че хочешь через this.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 12.03.2015, 22:24   #3
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Shouldercannon Посмотреть сообщение
Задача заключается в том, чтобы получить ItemIndex отмеченного RadioButton и дальше выполнить действие. Почти как в Delphi
Чтобы получилось почти как в Delphi нужно отслеживать атрибут checked у input'ов.
Например (немного переделал Ваш код из топика):
PHP код:
function BtnTest() {
  var 
elements document.getElementsByName('RadioGroup');
  for (
i=0;i<=elements.length-1;i++)
  if (
elements.item(i).checked)
  { 
      
alert(i);
  };  

Streletz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RadioGroup и фильтрация FroZko Компоненты Delphi 2 12.11.2012 16:02
Заполнение Radiogroup flyinsky Общие вопросы Delphi 1 28.05.2011 08:22
Проблема с RadioGroup FarSeer Помощь студентам 2 07.12.2010 18:18
RadioGroup Vrat19 Помощь студентам 3 14.11.2009 18:35
RadioGroup Isterika Помощь студентам 4 25.06.2009 17:25