是否可以使用parseFloat从2个文本框中读取和处理数值?这样的代码对我不起作用。我怀疑问题与第二个文本框有某种联系?!
<div style="padding:10px;">
Enter number 1: <input class="textbox" value=""/>
</div>
<div style="padding:10px;">
Enter number 2: <input class="textbox2" value=""/>
</div>
<div>
<button id="Get">Calculate</button>
</div>
<div>
<h4>Result: <label id="msg"></label></h4>
</div>
<script type="text/javascript">
$("button:#Get").click(function () {
var num1 = parseFloat($('input:textbox').val());
var num2 = parseFloat($('input:textbox2').val());
var result = ((num1 * num2));
$('#msg').html(result);
});
</script>
答案 0 :(得分:3)
问题在于选择器。
$(document).on('click','button#Get',function () {
var num1 = parseFloat($('input.textbox').val());
var num2 = parseFloat($('input.textbox2').val());
var result = ((num1*num2));
$('#msg').html(result);
});
这将独立于脚本标记的位置。
答案 1 :(得分:2)
您可能无法正确阅读文本框。尝试:
$("button#Get").click(function () {
var num1 = parseFloat($('input.textbox').val());
var num2 = parseFloat($('input.textbox2').val());
var result = ((num1*num2));
$('#msg').html(result);
});
看看你现在是否得到了正确的结果。按钮所需的选择器为button#Get
而非button:#Get
,而文本框为input.textbox
和input.textbox2
,而不是input:textbox
和input:textbox2
。 :
语法通常用于检查某些属性。
答案 2 :(得分:0)
我建议:
$("#Get").click(function () {
var num1 = parseFloat($('input.textbox').val()),
num2 = parseFloat($('input.textbox2').val()),
result = ((num1*num2));
$('#msg').html(result);
});
问题似乎是你对jQuery选择器的困惑; :
作为选择器(例如:eq()
,:first
等)的前言,而句点(.
)应该是类名的前缀。
类似地,id
在文档中应该是唯一的,因此标记名称(除非您的脚本在多个页面上运行,id
可能附加到不同类型的元素)“这是必需的,当然不需要:
个字符。