Javascript.RU

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

Составить функцию
Здравствуйте! Помогите составить функцию!
Имеется следующее:
<div class="flok">
<select class="cd-select">
<option selected="selected" value="-1">Выбрать ответ</option>
<option value="1">ответ1</option>
<option value="0">ответ2</option>
<option value="0">ответ3</option>
<option value="0">ответ4</option>
</select>
</div>

<div id="score"></div>

Логика такова:
При изменении select (при выборе какого-либо ответа), если его value = 1 (ответ правильный), то к переменной прибавляем 10. И выводим ее в div, с id = score. Если value = 0 (ответ неправильный), то отнимаем 5, и также выводим в div. И если 3 раза выбран неправильный ответ, то 3 раза будут отниматься очки.

Самостоятельно дошел до этого:
function count(){
$var = 0;
if ($("select").bind("change"))
	{
	if ($("select").val() == 1)
	$var = $var + 10;
	else
	$var = $var - 5;
	}
$("#score").text($var);
return;
}

Помогите довести до ума! Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 18.05.2013, 20:47
Новичок на форуме
Отправить личное сообщение для serg47 Посмотреть профиль Найти все сообщения от serg47
 
Регистрация: 17.05.2013
Сообщений: 5

День добрый! После долгих "мучений", получилось следующее. Вот итог:

<div class="flok" id="dom">
<select id ="selec">
<option selected="selected" disabled="disabled" value="-1">Выбрать ответ</option>
<option value="1">ответ1</option>
<option value="0">ответ2</option>
<option value="0">ответ3</option>
<option value="0">ответ4</option>
</select>
</div>

$(document).ready(function(){
var a = 0;
$("#selec").bind("change", function(){
    $(".yes, .no, #score").remove()
    switch ($(this).val()) {
        case "1":
		$('<div class="yes"></div><div id="score"></div>').insertAfter('#dom').show("bounce", { times: 3 }, "slow");
		a = a + 5;
		$("#score").text(a);
        break;
        case "0":
		$('<div class="no"></div><div id="score"></div>').insertAfter('#dom').show("bounce", { times: 3 }, "slow");
		a = a - 10;
		$("#score").text(a);
		break;
    }
});
});

1. После выбора правильного ответа - "выскакивает" зеленый значок и прибавляется 5 баллов.


2. После выбора неправильного ответа - "выскакивает" красный значок и отнимается 10 баллов.


Такой вопрос
С одним select'ом работает отлично. Но на странице, таких select'ов, предполагается много. Как заставить скрипт работать со всеми?
Или может я изначально неправильно делаю скрипт? Пните в нужную сторону, или укажите ошибки. Спасибо!

P.S. Я извиняюсь, но по-моему я ошибся.Тему нужно перенести в jQuery.
Ответить с цитированием
  #3 (permalink)  
Старый 19.05.2013, 09:04
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от serg47
Как заставить скрипт работать со всеми?
Вместо $("#selec") поставьте поиск по классу
$(".selec")

и html
<select class ="selec">
Ответить с цитированием
  #4 (permalink)  
Старый 19.05.2013, 19:19
Новичок на форуме
Отправить личное сообщение для serg47 Посмотреть профиль Найти все сообщения от serg47
 
Регистрация: 17.05.2013
Сообщений: 5

Спасибо за ответ vadim5june!
id ="selec" убрал вообще, событие теперь отлавливаю так:
$("select").bind("change", function(){....
.

Сейчас картина такая:
<div class="flok" id="dom1">
<select>
<option selected="selected" disabled="disabled" value="-1">Выбрать ответ</option>
<option value="1">ответ1</option>
<option value="0">ответ2</option>
<option value="0">ответ3</option>
<option value="0">ответ4</option>
</select>
</div>
<div class="flok" id="dom2">
<select>
<option selected="selected" disabled="disabled" value="-1">Выбрать ответ</option>
<option value="1">ответ1</option>
<option value="0">ответ2</option>
<option value="0">ответ3</option>
<option value="0">ответ4</option>
</select>
</div>
<div class="flok" id="dom3">
<select>
<option selected="selected" disabled="disabled" value="-1">Выбрать ответ</option>
<option value="1">ответ1</option>
<option value="0">ответ2</option>
<option value="0">ответ3</option>
<option value="0">ответ4</option>
</select>
</div>......


select'ы отличаются по id - dom1, dom2, dom3... и.т.д. Хотелось бы, чтобы зеленый или красный значок выскакивал напротив того select'а, в котором, в данный момент выбирают ответ и оставался там. В итоге, напротив каждого select'а должны быть значки(зеленый или красный). Как сделать, чтобы скрипт понимал в каком селекте идет изменение, выставлял там значок и не удалял его?
Ответить с цитированием
  #5 (permalink)  
Старый 19.05.2013, 20:31
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от serg47
Хотелось бы, чтобы зеленый или красный значок выскакивал напротив того select'а, в котором, в данный момент выбирают ответ и оставался там
Помоему Вам id не нужны
ведь $(this).parent() будет указывать на родительский див куда и надо вставлять информацию
Ответить с цитированием
  #6 (permalink)  
Старый 20.05.2013, 10:12
Новичок на форуме
Отправить личное сообщение для serg47 Посмотреть профиль Найти все сообщения от serg47
 
Регистрация: 17.05.2013
Сообщений: 5

$(this).parent() !!!! Ну конечно! Это то что надо! Спасибо!
Ответить с цитированием
  #7 (permalink)  
Старый 21.05.2013, 17:48
Новичок на форуме
Отправить личное сообщение для serg47 Посмотреть профиль Найти все сообщения от serg47
 
Регистрация: 17.05.2013
Сообщений: 5

Теперь все работает как задумывалось! Результат можно посмотреть здесь:zazaba.ru
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передать анонимную функцию, вызывающую другую функцию с нужными параметрами Ваяс Общие вопросы Javascript 5 21.02.2013 20:12
Выполнить функцию заранее неизвестную Neokortex jQuery 2 13.02.2012 12:41
checkbox включен запускаем одну функцию выключен другую Sadist_dead Элементы интерфейса 11 27.09.2011 10:46
проблема с передачей параметров в функцию bartonom Элементы интерфейса 4 19.09.2011 12:41
Как получить указатель на элемент вызвавший функцию pelayo Общие вопросы Javascript 9 29.06.2010 23:32