2013-10-08 64 views
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块不工作只是离开输出,因为它是jquery“val”setter不起作用

+0

如果您的代码有效? 'var output = $('#output);'应该是'var output = $('#output');' –

+2

你能设置Fiddle吗? – Amit

+0

@LeGEC不要重写OP的代码....有可能缺少引用可能是问题,让OP编辑,如果是问题 – Anton

回答

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

'this.value === $ (this).val()' – undefined

+0

你的函数是否具有.value属性? – user1825286

+0

这不是我的问题。 – undefined

0

怎么样:

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

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

    }); 

编辑:不是意味着功能numberbuttonclickwhatever(不只是代替函数中的点击事件处理程序)因此包装在jQuery(function($,undefined) {})

0

从我测试的结果来看,代码工作背后的想法ks: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如何设置?