1
var output = $('#output');

function NumberButtClick()
 {
$('.numberButt').click(
    function ()
    {
        if(output.val() === '')
        {
         output.val(this.value);        
        }

        else
        {
            var entered = output.val();
            entered = entered + this.value;
            output.val(entered);
        }
    }
);

if 块工作正常,它在文本框上输出值(输出 - 是文本框)。但是当我再次输入数字按钮时。else 块不起作用,它只是将输出保持原样

4

3 回答 3

0

关于什么 :

 $('.numberButt').on('click', function ()
    {

        output.val(( output.val()? output.val():'' ) + $(this).val());

     });

编辑:意思而不是函数 numberbuttonclickwhatever (不仅仅是代替函数中的点击事件处理程序)因此包装在一个jQuery(function($,undefined) {})

于 2013-10-08T08:14:05.760 回答
0

根据我的测试,您的代码背后的想法有效:fiddle (您的原始代码实际上会连接字符串:fiddle)。

var output = $('#output');

$('.numberButt').click(
    function ()
    {
        if(output.val() === '')
        {
         output.val(this.value);        
        }

        else
        {
            var entered = parseInt(output.val(), 10);
            entered = entered + parseInt(this.value, 10);
            output.val(entered);
        }
    }
);

你在代码的哪一部分调用你的NumberButtClick()函数?你的html是怎么设置的?

于 2013-10-08T08:16:12.327 回答
-1

你忘记了

var output = $('#output');
$('.numberButt').click(
function ()
{
    if(output.val() === '')
    {
     output.val($(this).val());        // i think you forget $ 
    }

    else
    {
        var entered = output.val();
        entered = entered + $(this).val(); //also here
        output.val(entered);
    }
}
于 2013-10-08T08:09:47.590 回答