基于文本框输入创建动态文本框

时间:2015-03-13 06:34:57

标签: javascript c# jquery asp.net

如果我将分号作为输入意味着我必须在jQuery中创建一个文本框。我尝试了这个代码并且它正确地流动但它没有向我显示结果。

$(document).ready(function (){
        $("#hellotxt").on('keyup', function (event){
            if (event.keyCode == 59)
            {
                var txt = $("#hellotxt").val();
                var valueArray = txt.split(';');
                var valueSortArray = valueArray.sort();
                for (var i = 0; i < valueSortArray.length - 1; i++) {
                    alert("friends");
                    addbox();
                }
            }
        });
});

addbox代码在这里

 function addbox() {
        var table = $(this).closest('table');
        if (table.find('input:text').length >= 0) {
            table.append('<tr> <input type="text" id="current Name" value="" /></td> <td><input type="text" id="current Name" value="" /> </td></tr>');
        }
    }

我的ASp.Net标记是

<asp:TextBox ID="hellotxt" runat="server" placeholder="hi;ji;ki;li;">    </asp:TextBox>
   <table border="0" cellspacing="2">   
<tr>        
    <td>
        <input type="button" id="add" value="Add" />
        <input type="button" id="del" value="Del" />
    </td>
</tr>

2 个答案:

答案 0 :(得分:3)

您将从此代码中得到答案。请各位大家查看

$(document).ready(function (){
  //page load
    $("#hellotxt").on('keypress', function (event) {
        console.log(event.which)
        if (event.which == 59 || event.which == 186) {
            var txt = $("#hellotxt").val();
            var valueArray = txt.split(';');
            var valueSortArray = valueArray.sort();
            for (var i = 0; i < valueSortArray.length - 1; i++) {
                addbox.call(this, valueSortArray);
            }
        }
    });

 function addbox(valueSortArray) {
 var table = $(this).next('table').find("tbody");
 table.find(".dyn").remove()
 $.each(valueSortArray, function (i, v) {
 console.log(i,v)
 if (v)
     table.append('<tr class="dyn"><td><input type="text"  value="' + v + '" /></td></tr> ');
})

答案 1 :(得分:2)

检查下面的代码键代码&#39;;&#39;是186。查看fiddle

上的工作示例
 $("#hellotxt").on('keyup', function (event){

 if (event.keyCode == 186)
    {
        var OBJ = $(this);
        var txt = $("#hellotxt").val();
        var valueArray = txt.split(';');
        var valueSortArray = valueArray.sort();
        for (var i = 0; i < valueSortArray.length - 1; i++) {
            addbox(OBJ);
        }
    }
});

将$(this)(hellotxt对象)作为函数

中的参数传递
function addbox( OBJ ) {
   var table = OBJ.next('table');

   if (table.find('input').length >= 0) {
    table.append('<tr> <input type="text" id="current Name" value="" /></td> <td><input type="text" id="current Name" value="" /> </td></tr>');
  }
}