Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.03.2010, 21:32
Интересующийся
Отправить личное сообщение для demix Посмотреть профиль Найти все сообщения от demix
 
Регистрация: 14.02.2010
Сообщений: 28

Перемешать варианты ответов
Здравствуйте! Пишу курсовую работу, все вроде уже готово, но вот решил немного увеличить качество теста. Суть проблемы:
есть страница с вопросами (5 штук) и на каждый вопрос есть три варианта ответа:
a первый вариант
b второй вариант
с третий вариант
необходимо. что бы каждый раз при обновлении страницы положение этих вариантов изменялось abc acb cab bac и т.д.
получилось сделать только для одного вопроса:
яваскрипт
<script type="text/javascript">
function getRandom() {
   sluchai= Math.random(); // получаем случайное число от 0 до 1
   umnozh= sluchai*10;			 // умножим на 10
   celoe= Math.round(umnozh); // округлим до целых
}
getRandom();
var a='<input type=radio value="a">Личностные качества индивида<br>';
var b='<input type=radio value="b">Разработка психологических тестов<br>';
var c='<input type=radio value="c" >Психологические свойства личности<br>';
</script>

хтмл
<body>
<form>
<br><b>1. Объект психодиагностики?</b><br>
<script type="text/javascript">
if (celoe>=4){
		if (celoe>=6){
			if (celoe>=9) { document.write(b+c+a);}
				else {  document.write(c+a+b);}
				}
		else {document.write(a+b+c);}
	}
else {document.write(a+c+b);}
</script> 
<b>2. Основной метод психодиагностики</b><br>
<input type=radio value="a">Дифференциально-диагностическое исследование<br>
<input type=radio value="b" >Лонгитюдное исследование<br>
<input type=radio value="c" >Патопсихологическое исследование личности<br><br>

</form>
</body>
</html>


пока не представляю, но нутром чувствую. что можно сделать как-то иначе и проще и так, что бы не писать отдельный цикл к каждому вопросу.
за ранее спасибо, если кто решится помочь.
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2010, 01:01
Аватар для Мараторий
Кандидат Javascript-наук
Отправить личное сообщение для Мараторий Посмотреть профиль Найти все сообщения от Мараторий
 
Регистрация: 22.01.2010
Сообщений: 114

Если не секрет, где учитесь?
Ответить с цитированием
  #3 (permalink)  
Старый 03.03.2010, 01:34
Любитель
Отправить личное сообщение для JsLoveR Посмотреть профиль Найти все сообщения от JsLoveR
 
Регистрация: 16.12.2009
Сообщений: 422

demix,
Создайте массив вариантов ответа, которые будут записываться в переменные abc, проходя циклом, а abc записывайте в массив(var massive=[a,b,c]) и генерируйте в случайном порядке без повторений.

Последний раз редактировалось JsLoveR, 03.03.2010 в 01:43.
Ответить с цитированием
  #4 (permalink)  
Старый 03.03.2010, 09:36
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

var a = [1,2,3,4,5];
for ( var i = a.length; i-->0; ) {
    var t = a[i], 
        j = Math.floor(i*Math.random()); 
    a[i] = a[j]; 
    a[j] = t; 
}
alert(a)
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2010, 23:25
Интересующийся
Отправить личное сообщение для demix Посмотреть профиль Найти все сообщения от demix
 
Регистрация: 14.02.2010
Сообщений: 28

Вообще не секрет, военно-психологический факультет.
JsLoveR, а можешь сделать пример для двух вопросов или для трех, а то я совсем не шарю в JS
e1f, если не трудно набросай пример. буду благодарен
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка выбора только 2 ответов из 4 demon166 Общие вопросы Javascript 6 07.01.2010 01:03
Варианты решения задачи bobri4 Элементы интерфейса 1 07.10.2009 01:41
Сниппеты ответов Илья Кантор Сайт Javascript.ru 2 13.06.2009 02:26
Баги в сниппетах ответов Илья Кантор Сайт Javascript.ru 31 11.06.2009 17:58