@Webmast2105

Как из chekbox'а вывести цифровое(числовое) значение с помощью js?

У меня есть самый банальный chekbox, мне нужно чтобы при нажатии на этот квадрат у меня выводилось значение tittle у этого чекбокса в определенном месте (есть тег <p> с id=" result"), то есть я отметил чекбокс, сумма увеличилась например на 100р.
Пробовал, он мне выдает значение Nan.

<div class="kadzakad" action="" method="post">
<input title="53" onchange="calc()" type="radio" name="kad_1" id="kad_1">
  <label class="kad" for="kad_1"><b>Внутри КАД/</b></label>
</div>


function calc() {           
    var ter = document.getElementById("kad_1").checked;
    var result = document.getElementById("result");
    var price = 100;

    price =parseInt(ter.title);

    result.innerHTML = price;
}
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
var ter = document.getElementById("kad_1").checked; //true или false
price =parseInt(ter.title); //  parseInt(undefined)


Очепятались?

var ter = document.getElementById("kad_1"),
      price = parseInt(ter.title); //А лучше просто +ter.title


Mini-Code rewrite
function calc() {
  var result = document.getElementById("result");
  //this и так document.getElementById("kad_1");              
  
  result.innerHTML = +this.title;
}

Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
keslo
@keslo
NaN - это Not a number. Скорее всего вы не число получаете где-то.
Получить значение title можно так:
$("#kad_1").click(function() {
    // получаем значение title
    var title = $(this).attr("title");

     // вставляем данные в result
    $("#result").html(title);
});

Если вам необходимо увеличить число в result, то:
var result = +("#result").html() + title;
 $("#result").html(result);

Но в этом случае, если пользователь отожмёт чекбокс, то итоговую стоимость необходимо будет уменьшать? Тогда используйте checked.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы