2013-08-23 140 views
0

我正在使用javascript動態生成文本字段。問題在於新的文本字段是在文件類型之前生成的。我想在文件類型之後和新行中生成它。我已經分享了代碼。如何在特定元素後動態生成元素

HTML

<input type="text" name="textf"/> 

http://jsfiddle.net/QxPbJ/2/

希望您提前瞭解

感謝

+0

你能更具體,PLZ。據我所知,你想在輸入一些東西后生成一個新的textField,比如將.txt放入舊文本字段中,而不是在單擊文本框後單擊。我對嗎? –

回答

0

你的意思是這樣的?

$(function() { 
    count = 2; 
    var createNewField = function() { 
     var node = $('<tr><td></td><td><input type="radio" name="choices" name="o" id="o" style="float:left"/><div class="XYZ" style="float:left"><input style="margin-bottom:20px; " class="ABC" type="text" name="option" id="option" placeholder="add option' + count + '"/></div>&emsp;<input type="file"/></td></tr>'); 
     if (count < 6) { 
      $('input').last().after(node); 
      count++; 
      node.click(function() { 
       createNewField(); 
      }); 
     }; 
    }; 
    $('input.ABC').click(function() { 
     createNewField(); 
    }); 
}); 
0

您沒有使用表格,但是您正在追加tr和td。第一名錶後場,並添加TR它

0

嘗試此鏈接Click here

的Html

<input type="radio" name="choices"/> 
<input style="margin-bottom:20px;"id="option1" class="ABC" name="option1"type="text"/> 
<input type="file" name="op" id="op"/> 
<div id="appendBefore"></div> 

的js

$(function() { 
    count = 2; 
    var createNewField = function() { 
    var $node = $('<tr><td></td><td><input type="radio" name="choices" name="o" id="o"  style="float:left"/><div class="XYZ" style="float:left"><input style="margin-bottom:20px; " class="ABC" type="text" name="option" id="option" placeholder="add option '+count+'"/> </div>&emsp;<input type="file"/></td></tr>'); 
    if(count < 6){ 
    $node.find("input.ABC").one('click', createNewField); 
    $('#appendBefore').before($node); 
    count = count+1; 
    } 
}; 
$('input.ABC').one('click', createNewField); 
});