2017-09-13 56 views
-1

这是我迄今为止所尝试的。 根据数值字段中的值添加或删除元素

$("#add_row").change(function(){ 
 

 
    $(".box").append('test <br />'); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="form-control input-sm" id="add_row" type="number"> 
 
    
 
<div class="box"></div>

现在我想添加或删除号码字段

+0

隐藏/显示比追加/删除更容易。还基于什么数字?你没有在这里给出逻辑 - 甚至你自己做了任何尝试。 –

+0

我觉得hide/show不适合这里,因为用户可以输入任何数字值。 –

+0

...做什么?你没有解释你想要做什么 –

回答

1

我已经追加所以没有必要担心降低值

注意之前清空了box确定您的要求,但它可以用不同的方式来完成)

$("#add_row").change(function(){ 
 
\t var total = $(this).val(); 
 
\t var oldLength = $(".box > span").length; 
 
\t var change = total - oldLength; 
 
\t if (change > 0) { 
 
\t \t for (i = 0; i < change; i++) { 
 
\t \t \t $(".box").append('<span >test <br /></span>'); 
 
\t \t } 
 
\t } 
 
\t else { 
 
\t \t change = Math.abs(change) 
 
\t \t $(".box > span").each(function(index) { \t \t \t \t 
 
\t \t \t $(this).remove(); 
 
\t \t \t if (index == (change -1)) { 
 
\t \t \t \t return false; 
 
\t \t \t } 
 
\t \t }); 
 
\t } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="form-control input-sm" id="add_row" type="number"> 
 
    
 
<div class="box"></div>

+0

如果我不想空框字段,因为如果我们有4个元素,它应该增加或减少元素长度不完全清空所有的值。 –

+0

您可能需要对现有元素进行计数并相应地增加/减少 –

+0

好的,如果您不介意可以请更新您的答案吗? –

1

一个非常基本实现了基于数量的字段。然而,你可能希望引入输入清理包括最大限制:您需要验证的负输入(不:

$("#add_row").change(function(){ 

    var total = $(this).val(); 
    for (i = 0; i < total; i++) { 
     $(".box").append('test <br />'); 
    } 

}); 
相关问题