Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.02.2010, 19:09
Интересующийся
Отправить личное сообщение для pingvinchic Посмотреть профиль Найти все сообщения от pingvinchic
 
Регистрация: 02.02.2010
Сообщений: 17

select onChange
Имеется оператор выбора :
Код:
<select name='project' id='project' size='1'>
          <option value="0">Выберите проект</option>
          <option value="all_projects">Все проекты</option>
<?
$result = mysql_query("SELECT project_id, project_name FROM projects", $db);      
$myrow = mysql_fetch_array($result);  
do {
    printf (" <option value='%s'>%s</option>", $myrow["project_id"], $myrow["project_name"]);
      }
 while ( $myrow = mysql_fetch_array ($result) );  ?>
</select>
и 4 радиокнопки:

<input type="radio" name="time" id="time" value="за все время">
<input type="radio" name="time" id="time" value="диапазон">
<input type="radio" name="otchet" id="otchet" value="подробно">
<input type="radio" name="otchet" id="otchet" value="суммарно">

Подскажите, пожалуйста, как сделать так, чтобы при выборе значения "all_projects", радиокнопки со значениями "за все время" и "подробно" становились неактивными, а во всех остальных случаях все 4 были активными?
Ответить с цитированием
  #2 (permalink)  
Старый 02.02.2010, 19:43
Кандидат Javascript-наук
Отправить личное сообщение для vk65535 Посмотреть профиль Найти все сообщения от vk65535
 
Регистрация: 21.11.2008
Сообщений: 114

function onProjectChange() {
	var s = document.getElementById('project');
	if (!s) return;
	var dis = s.value === 'all_projects', f = function(id) {
		var e = document.getElementById(id);
		if (e && (e.disabled = dis)) e.checked = false;
	};
	f('time');
	f('otchet');
}
Ответить с цитированием
  #3 (permalink)  
Старый 02.02.2010, 19:54
Интересующийся
Отправить личное сообщение для pingvinchic Посмотреть профиль Найти все сообщения от pingvinchic
 
Регистрация: 02.02.2010
Сообщений: 17

Скажите, а в форме, чтобы эта функция работала, достаточно так написать:

<select name='project' id='project' size='1' onchange="onProjectChange()"> 

<div id="onProjectChange">
кнопки
</div>

?
Ответить с цитированием
  #4 (permalink)  
Старый 02.02.2010, 20:44
Кандидат Javascript-наук
Отправить личное сообщение для vk65535 Посмотреть профиль Найти все сообщения от vk65535
 
Регистрация: 21.11.2008
Сообщений: 114

да
Ответить с цитированием
  #5 (permalink)  
Старый 02.02.2010, 23:02
Интересующийся
Отправить личное сообщение для pingvinchic Посмотреть профиль Найти все сообщения от pingvinchic
 
Регистрация: 02.02.2010
Сообщений: 17

так не работает...я предполагаю надо что-то еще дописывать к кнопкам в их свойства, а то как же он узнает какая именно кнопка со значением "time" или "otchet" будет скрытой?
Ответить с цитированием
  #6 (permalink)  
Старый 03.02.2010, 12:03
Кандидат Javascript-наук
Отправить личное сообщение для vk65535 Посмотреть профиль Найти все сообщения от vk65535
 
Регистрация: 21.11.2008
Сообщений: 114

А, так у вас тут по две кнопки с id="time" и id="otchet". Я думал, это опечатка - сделайте дубликатам другие id, например так:
<input type="radio" name="time" id="time" value="за все время">
<input type="radio" name="time" id="time1" value="диапазон">
<input type="radio" name="otchet" id="otchet" value="подробно">
<input type="radio" name="otchet" id="otchet1" value="суммарно">
Ответить с цитированием
  #7 (permalink)  
Старый 03.02.2010, 12:37
Интересующийся
Отправить личное сообщение для pingvinchic Посмотреть профиль Найти все сообщения от pingvinchic
 
Регистрация: 02.02.2010
Сообщений: 17

я бы конечно сделала, но они не случайно по 2 с одинаковыми значениями, т.к. надо выбирать из первой пары и из второй ( может быть выбрано либо

"за все время" либо "диапазон" и потом или подробно или суммарно

а оператор такой в js есть === как в 4 строчке?

Последний раз редактировалось pingvinchic, 03.02.2010 в 13:37.
Ответить с цитированием
  #8 (permalink)  
Старый 03.02.2010, 16:57
Кандидат Javascript-наук
Отправить личное сообщение для vk65535 Посмотреть профиль Найти все сообщения от vk65535
 
Регистрация: 21.11.2008
Сообщений: 114

Радио-кнопки группируются по name-у, а id нужно чтобы различать элементы. И кстати, недопустимо наличие на странице двух любых элементов с одинаковыми id - иначе теряется смысл этого атрибута.

http://www.w3.org/TR/1999/REC-html40...l.html#adef-id
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Продлема с получением данных из select Tartyga Общие вопросы Javascript 10 05.08.2009 22:13
заполнить select значениями другого select Central Элементы интерфейса 1 30.05.2009 14:41
событие на выпадение-скрытие списка select Aderba jQuery 1 03.04.2009 21:51
select динамически onchange не работает в ie Gozar Events/DOM/Window 11 27.11.2008 20:05
Динамическое обновление списка Select Fender Events/DOM/Window 3 12.06.2008 21:30