Деактивация чекбокса.
Здравствуйте, уважаемые форумчане.
Уже 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, время: 13:47. |