заставить скрипт работать с загрузкой страницы
Добавить значение: <input type="checkbox" id="oneType" value="500" onchange="costCalculator()" /> <div>Сумма: <span id="oneRezult">0</span> руб.</div> Добавить значение1: <input type="checkbox" id="twoType" value="1000" onchange="costCalculator()" /> <div>Сумма: <span id="twoRezult">0</span> руб.</div> <div>Общая сумма:</div> <div><span id="result">0</span> руб.</div>
function costCalculator() {
//Типы флажков
var oneType = document.getElementById("oneType");
var twoType = document.getElementById("twoType");
//Результаты флажков
var result = document.getElementById("oneType");
var result = document.getElementById("twoType");
//Общий результат
var result = document.getElementById("result");
//Цена для флажков по умолчанию
var onePrice = 0;
var twoPrice = 0;
//Общая цена
var price = 0;
//Умножаем значение на *ЧИСЛО
onePrice += (oneType.checked == true) ? parseInt(oneType.value) : 0;
twoPrice += (twoType.checked == true) ? parseInt(twoType.value) : 0;
//Складываем типы флажков + имя списка
price=onePrice + twoPrice;
//Результат для полей
oneRezult.innerHTML = onePrice;
twoRezult.innerHTML = twoPrice;
//Общий результат
result.innerHTML = price;
}
Проблема такова: скрипт складывает значение value чекбоксов. и начинает работать с первым кликом по чекбоксу. Но если чекбокс по умолчанию checked он считает его не чекнутым до первого клика по любому чеку. Как сделать чтобы с загрузкой станицы все чекбоксы со значением по умолчанию checked он считал при загрузке? ХЕЛП ПЛИЗ! |
j0hnik,
1) Скрипт в конец боди положи или используй такую фигню
var callback = function() {
// Handler when the DOM is fully loaded
// Короче сюда суй свой код
};
if (document.readyState === 'complete' ||
(document.readyState !== 'loading' && !document.documentElement.doScroll)
) {
callback();
} else {
document.addEventListener('DOMContentLoaded', callback);
};
Теперь ты можешь быть уверен что как только DOM построен твои кодики выполнятся 2) Достать значения всех чекнутых чекбоксов можно так
[].forEach.call(document.querySelectorAll('[type="checkbox"]:checked'), function (item) {
console.log(item.value);
})
|
| Часовой пояс GMT +3, время: 04:49. |