Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Деактивация чекбокса. (https://javascript.ru/forum/misc/52325-deaktivaciya-chekboksa.html)

Alina777 14.12.2014 00:35

Деактивация чекбокса.
 
Здравствуйте, уважаемые форумчане.

Уже 3 дня не могу правильно написать код...

Я новичок, сильно не ругайте...

Прошу помощи.
<script type="text/javascript">
       
        function calc() { 
var pop = document.getElementById("pop"); 
var tup = document.getElementById("tup"); 
var result = document.getElementById("result");
var price_pop = 0; 
var price_tup = 0;
var price = 0; 
price_pop += parseInt(pop.options[pop.selectedIndex].value); 
price_tup += (tup.checked == true) ? parseInt(tup.value) : 0;
price=price_pop + price_tup;
result.innerHTML = price;
        } 
</script>

  <select onchange="calc()" id="pop">
            <option value="0">Значение 1</option>
            <option value="5500">Значение 2</option>
            <option value="6500">Значение 3</option>
            <option value="7000">Значение 4</option>
            <option value="7500">Значение 5</option>
        </select>
<input type="checkbox" onchange="calc()" value="1500" id="tup" />
<br><br>
ИТОГО:<span id="result">0</span> руб.


Хотелось бы сделать, чтоб при выбранном id="pop" (Например > 6500) убиралась галочка с чекбокса и он делался неактивным.
А при выборе значения id="pop"<6500 он снова становился активным.

Пробовала сделать через removeAttr, чекбокс деактивируется и дальше не меняет состояние...

bes 14.12.2014 00:42

для начала оформи по-человечески свой код с отступами в 12 табов и добавь кнопку run

Alina777 14.12.2014 01:03

Уважаемый bes - подскажите, как добавить кнопку run?

рони 14.12.2014 01:47

Alina777,
[HTML run][/HTML]

Alina777 14.12.2014 01:55

рони,
Спасибо.

рони 14.12.2014 01:59

Alina777,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<script type="text/javascript">

        function calc() {
var pop = document.getElementById("pop");
var tup = document.getElementById("tup");
var result = document.getElementById("result");
var price_pop = 0;
var price_tup = 0;
var price = 0;
price_pop += parseInt(pop.options[pop.selectedIndex].value);
price_pop > 6500 ? (tup.checked = false, tup.disabled = true) : tup.removeAttribute('disabled');
price_tup += (tup.checked == true) ? parseInt(tup.value) : 0;
price=price_pop + price_tup;
result.innerHTML = price;
        }
</script>

  <select onchange="calc()" id="pop">
            <option value="0">Значение 1</option>
            <option value="5500">Значение 2</option>
            <option value="6500">Значение 3</option>
            <option value="7000">Значение 4</option>
            <option value="7500">Значение 5</option>
        </select>
<input type="checkbox" onchange="calc()" value="1500" id="tup"  />
<br><br>
ИТОГО:<span id="result">0</span> руб.

</body>

</html>

Alina777 14.12.2014 02:15

:dance:

Завизжала от радости!!!!!

рони,
Спасибо большое!!!

рони 14.12.2014 02:18

Alina777,
:)

bes 14.12.2014 09:22

Цитата:

Сообщение от Alina777
Уважаемый bes - подскажите, как добавить кнопку run?

долго думал/думала, я уже спать лёг :)

лови и такой вариант

<select class="pop">
	<option value="0">Значение 0</option>
	<option value="5500">Значение 5500</option>
	<option value="6500">Значение 6500</option>
	<option value="7000">Значение 7000</option>
	<option value="7500">Значение 7500</option>
</select>
<input type="checkbox" value="1500" class="tup" />
<br/><br/>
ИТОГО: <span class="result">0</span> руб.

<script>
!function () {
	var pop = document.querySelector(".pop");
	var tup = document.querySelector(".tup");
	var result = document.querySelector(".result");
	var bonus = +tup.value;
	
	function calc(price_pop) {
		var bon = 0;
		if (price_pop > 6500) {
			tup.checked = false;
			tup.setAttribute("disabled", "disabled");
		} else {
			tup.removeAttribute("disabled");
			if (tup.checked) bon = bonus;
		}
		result.innerHTML = price_pop + bon;
	}

	pop.addEventListener("change", function () {
		calc(+this.value);
	});
	
	tup.addEventListener("change", function () {
		calc(+pop.value);
	});

}();
</script>

Alina777 14.12.2014 15:02

bes,
Спасибо и Вам большое!

Только у меня код большой.
Я ведь только фрагмент написала.

С Вариантом рони я ещё смогу свой код подправить и доработать, а вот Ваш вариант не осилю наверное...


Часовой пояс GMT +3, время: 13:47.