使用JQuery添加输入按钮

问题描述:

我有一个有趣的问题,我需要解决。客户想要在输入元素中输入客户ID(使用扫描仪)并使用AJAX,它将用客户名称填充另一个输入元素。应该添加新的输入元素并设置焦点,以便客户可以输入另一个客户ID。我有两个需要解决的问题。首先,我需要捕获扫描器发送的输入并移至新添加的输入元素。其次,我需要添加事件到新的输入元素来处理AJAX调用和从扫描器发送的下一个输入。任何帮助将不胜感激。使用JQuery添加输入按钮

韦德

+0

Scanner = hardware peripheral?所以你无法弄清楚如何在html中获取扫描器的代码? – 2010-09-17 01:13:18

+0

扫描仪只不过是一个键盘模拟器,但它在发送扫描的条形码密钥后发送一个回车键。我的问题是我需要处理输入键来触发其他代码。 – Wade73 2010-09-17 01:40:50

这是一个相当简单的模板,你可以从工作:

<form> 
    <fieldset> 
     Customer ID: <input name="id" /> 
     Customer Name: <input name="name" /> 
    </fieldset> 
</form>​​​​​​ 
与Ja。

vascript:

​jQuery(function($) { 
    var form = $('form'), 
     fieldset; // defined here but set below after we get our event attached 

    $('input[name=id]').keyup(function(e) { 
     if(e.keyCode === 13) { 
      var clone = fieldset.clone(true).appendTo(form); 

      clone.children('input[name=id]').focus(); 

      $.get('getCustomerName.php', {id: this.value}, function(data) { 
       clone.children('input[name=name]').val(data); 
      }); 
     } 
    }); 

    fieldset = $('fieldset').clone(true); // clones our fieldset template with events 
});​ 
+0

如何实现上面显示的功能?我对JQuery仍然很陌生,所以我几乎只用了ready事件的附加函数。 – Wade73 2010-09-17 09:21:17

@ Wade73,增加一个新的控制是一件容易的事情。您需要选择一个元素来将控件放入或放入。

$('#PlaceButtonIn').appendTo("new button html"); 
$('#PlaceButtonIn').append("new button html"); 

#PlaceButtonIn可以是一个DIV或TD或东西放在新的控制是有用的。

新控件没有事件,以便使用实时赞扬这一点。

$('#PlaceButtonIn').append("<input type='button' class='NewButton'>"); 

$(document).ready(function(){ 

    $('.NewButton').live('click', function() { //Do click event here }); 

}); 

NewButton类不需要存在于你的CSS中。如果您不知道控件ID或名称,那么使用jQuery选择器是一种非常方便的方法。

希望这是有帮助的。

+0

看起来像这可能是我失踪。 – Wade73 2010-09-17 01:41:16

这也许可以回答你的疑问:

当输入获得焦点

$('#inputId').focus(function(){ 

     ///your code here 
    }); 

或者

$('#inputId').keypress(function(e) { 
    if(e.keyCode == 13) { 
     //your code here 
    } 
});