2015-03-13 109 views
1

如果我将分号作为输入意味着我必须在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

你是什么意思的“如果我给分号作为输入意味着我必须在jQuery中创建一个文本框”?这根本没有意义。 – 2015-03-13 06:39:15

+0

有什么错误吗? – Mairaj 2015-03-13 06:40:24

+0

我对文本框的输入是“;” @ good4m – 2015-03-13 06:52:57

回答

3

工作示例,你会从中得到答案code..please你所有的家伙看看

$(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> '); 
}) 
2

检查下面的代码键代码 ';'是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); 
     } 
    } 
}); 

通$(本)(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>'); 
    } 
} 
+0

通过我的回答请@jquery我upvoted你回答我 – 2015-03-13 08:12:57

+0

是的只是检查..看到我的回答它的简单的解决方案你的问题。很好,你有你的答案:)。 – 2015-03-13 08:15:35

+0

谢谢你多:) – 2015-03-13 08:39:58