@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.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы