【问题标题】:Adding multiple inputs添加多个输入
【发布时间】:2016-10-01 15:39:38
【问题描述】:

我想添加多个文本输入,但是如何添加?将我想要的输入数量放在屏幕上是我在 HTML 中声明的唯一输入。

假设我输入数字3,然后按下按钮。我输入的输入数量应该会出现。它实际上每次点击只添加一个输入,并忽略输入中的键入数据。我该如何解决这个问题?

<!DOCTYPE html>
<html>
<head>
    <title>HTML</title>
</head>
<script src="js/jquery-3.1.0.min.js"></script>
<script src="js/test.js"></script>
<body>          
    <input type="text" id="inp1" name="inp1" placeholder="Number of inputs">    
    <button type="button" name="btn" id="btn">Add</button>

    <table id="table" name="table">
        <tbody></tbody>
    </table>    
</body>
</html>
$(document).ready(function() {
    $(document).on('click', '#btn', function() {    
        $('#table tbody').append('<input></input>')
    }); 
});

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    首先请注意,您不能仅将input 附加为tbody 的子代。您需要将其放在td 中,而后者又需要放在tr 中。另请注意,input 是自动关闭的,因此您应该只附加 &lt;input /&gt;

    要实现您的需要,您可以使用简单的for 循环,将输入的值用作迭代限制器(一旦您将其解析为整数)。试试这个:

    $(document).ready(function() {
      $(document).on('click', '#btn', function() {
        for (var i = 0; i < parseInt($('#inp1').val(), 10); i++) {
          $('#table tbody td').append('<input />')
        }
      });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type="text" id="inp1" name="inp1" placeholder="Number of inputs">
    <button type="button" name="btn" id="btn">Add</button>
    
    <table id="table" name="table">
      <tbody>
        <tr><td></td></tr>
      </tbody>
    </table>

    【讨论】:

    • 太棒了!非常感谢你。我只是在学习,还在小步前进。
    【解决方案2】:

    试试这个:

    $(document).ready(function() {
        
        $("#btn").on("click",function(){
            
            var number = $("#inp1").val();
            
            number = parseFloat(number);
            
            for (var i=1; i <= number; i++){
                
                $("#table tbody").append("<br>Number " + i + " : <input type=text><br>")
                
            }
            
        })
        
        
    })
    <input type="text" id="inp1" name="inp1" placeholder="Number of inputs">  
    
    <button type="button" name="btn" id="btn">Add</button>
    <table id="table" name="table">
            <tbody></tbody>
    </table>    
            
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

    【讨论】:

    • 非常感谢您花时间回答。我真的很感激。
    猜你喜欢
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 2012-06-19
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多