使用JQuery添加输入按钮

时间:2010-09-17 01:09:28

标签: jquery html

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

韦德

3 个答案:

答案 0 :(得分:1)

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

});

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

希望这有用。

答案 1 :(得分:1)

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

输入获得焦点时

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

      ///your code here
    });

或者

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

答案 2 :(得分:1)

这是一个可以使用的相当简单的模板:

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

使用Javascript:

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