0

是否可以使用 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>
4

3 回答 3

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);  
});

这将独立于脚本标签的位置。

于 2013-07-17T16:23:22.093 回答
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.textboxinput.textbox2,而不是input:textboxinput:textbox2。该:语法通常用于检查某些属性。

于 2013-07-17T16:10:23.167 回答
0

我建议:

$("#Get").click(function () {
    var num1 = parseFloat($('input.textbox').val()),
    num2 = parseFloat($('input.textbox2').val()),
    result = ((num1*num2)); 
    $('#msg').html(result);         
});

JS 小提琴演示

问题似乎是您对 jQuery 选择器的困惑;a:以选择器(例如:eq():first)开头,而句点 ( .) 应以类名开头。

同样,anid在文档中应该是唯一的,因此不需要标记名称(除非您的脚本在多个页面上运行,其中id可能附加到不同类型的元素),当然也不需要那里的:字符。

于 2013-07-17T16:11:36.013 回答