Jquery“val”setter不起作用

时间:2013-10-08 08:06:20

标签: jquery

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块不起作用它只是留下输出

3 个答案:

答案 0 :(得分:0)

怎么样:

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

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

     });

编辑:代替函数numberbuttonclickwhatever(不只是代替函数中的click事件处理程序)因此包含在jQuery(function($,undefined) {})

答案 1 :(得分: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是如何设置的?

答案 2 :(得分:-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);
    }
}