Деактивация чекбокса.
Здравствуйте, уважаемые форумчане.
Уже 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, чекбокс деактивируется и дальше не меняет состояние... |
для начала оформи по-человечески свой код с отступами в 12 табов и добавь кнопку run
|
Уважаемый bes - подскажите, как добавить кнопку run?
|
Alina777,
[HTML run][/HTML] |
рони,
Спасибо. |
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>
|
:dance:
Завизжала от радости!!!!! рони, Спасибо большое!!! |
Alina777,
:) |
Цитата:
лови и такой вариант
<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>
|
bes,
Спасибо и Вам большое! Только у меня код большой. Я ведь только фрагмент написала. С Вариантом рони я ещё смогу свой код подправить и доработать, а вот Ваш вариант не осилю наверное... |
| Часовой пояс GMT +3, время: 07:53. |