JQuery добавление 2 чисел из полей ввода
Я пытаюсь добавить два значения предупреждающих ящиков, но я продолжаю получать пустое поле оповещения. Я не знаю, почему.
$(document).ready(function(){
var a = $("#a").val();
var b = $("#b").val();
$("submit").on("click", function(){
var sum = a + b;
alert(sum);
})
})
Ответы
Ответ 1
Добавление строк объединяет их:
> "1" + "1"
"11"
Сначала вы должны разобрать их в числа:
/* parseFloat is used here.
* Because of it not known that
* whether the number has fractional places.
*/
var a = parseFloat($('#a').val()),
b = parseFloat($('#b').val());
Кроме того, вы должны получить значения из обработчика кликов:
$("submit").on("click", function() {
var a = parseInt($('#a').val(), 10),
b = parseInt($('#b').val(), 10);
});
В противном случае вы используете значения текстовых полей с момента загрузки страницы.
Ответ 2
<script type="text/javascript">
$(document).ready(function () {
$('#btnadd').on('click', function () {
var n1 = parseInt($('#txtn1').val());
var n2 = parseInt($('#txtn2').val());
var r = n1 + n2;
alert("sum of 2 No= " + r);
return false;
});
$('#btnclear').on('click', function () {
$('#txtn1').val('');
$('#txtn2').val('');
$('#txtn1').focus();
return false;
});
});
</script>
Ответ 3
Есть два способа добавить два числа в jQuery
Первый способ:
var x = parseInt(a) + parseInt(b);
alert(x);
Второй способ:
var x = parseInt(a+2);
alert(x);
Теперь придет ваш вопрос
var a = parseInt($("#a").val());
var b = parseInt($("#b").val());
alert(a+b);
Ответ 4
Используйте этот код для добавления двух чисел с помощью jquery
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>HTML Tutorial</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<meta charset="windows-1252">
<script>
$(document).ready(function(){
$("#submit").on("click", function(){
var a = parseInt($('#a').val());
var b = parseInt($('#b').val());
var sum = a + b;
alert(sum);
})
})
</script>
</head>
<body>
<input type="text" id="a" name="option">
<input type="text" id="b" name="task">
<input id="submit" type="button" value="press me">
</body>
</html>
Ответ 5
Хорошо, так что ваш код действительно работает, но вам нужно сделать замену a и b в вашей функции click с помощью jquery-нотации, которую вы использовали до щелчка. Это обеспечит правильные и самые последние значения. поэтому изменение функции клика на это должно работать:
$("submit").on("click", function(){
var sum = $("#a").val().match(/\d+/) + $("#b").val().match(/\d+/);
alert(sum);
})
или inlined:
$("submit").on("click", function(){
alert($("#a").val().match(/\d+/) + $("#b").val().match(/\d+/));
})
Ответ 6
Этот код работает, вы можете сравнить его с вашим?
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>HTML Tutorial</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<meta charset="windows-1252">
<script>
$(document).ready(function(){
var a = $("#a").val();
var b = $("#b").val();
$("#submit").on("click", function(){
var sum = a + b;
alert(sum);
})
})
</script>
</head>
<body>
<input type="text" id="a" name="option">
<input type="text" id="b" name="task">
<input id="submit" type="button" value="press me">
</body>
</html>