如何根据文本框值添加多个输入字段?

时间:2012-03-26 11:27:25

标签: javascript jquery-ui jquery

我创建了一个正常工作的添加输入字段功能。我想根据输入字段编号添加许多输入字段。我只是开始遗憾的是找不到合适的结果。 这是我的JQ代码

$(document).ready(function() {
    var scntDiv = $('#add_words');
    var wordscount = 1;
    var i = $('.line').size() + 1;

    $('#add').click(function() {
        var v = $("#inputs").val();
        alert(v);
        wordscount++;
        $('<div class="line">Word is ' + wordscount + '<input type="text" value="' + wordscount + '" /><a class="remScnt" href="#">Remove</a></div>').appendTo(scntDiv);
        i++;
        return false;
    });

    //    Remove button
    $('#add_words').on('click', '.remScnt', function() {
        if (i > 1) {
            $(this).parent().remove();
            i--;
        }
        return false;
    });
});

和HTML代码

<select id="inputs" style="width:60px;">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>                      
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
</select>
<a id="add" href="#">Add</a>
<div id="add_words"></div>

实际上我需要根据我们在id="inputs中选择多少来添加输入。

2 个答案:

答案 0 :(得分:2)

像这样:

$(document).ready(function() {
    var scntDiv = $('#add_words');
    var wordscount = 1;
    var i = $('.line').size() + 1;

    $('#add').click(function() {
        var inputFields = parseInt($('#inputs').val());
        for (var n = i; n < inputFields; ++ n){
            wordscount++;
            $('<div class="line">Word is ' + wordscount + '<input type="text" value="' + wordscount + '" /><a class="remScnt" href="#">Remove</a></div>').appendTo(scntDiv);
            i++;
        }  
        return false;
    });

    //    Remove button
    $('#add_words').on('click', '.remScnt', function() {
        if (i > 1) {
            $(this).parent().remove();
            i--;
        }
        return false;
    });
});

在此处查看此操作: http://jsfiddle.net/zLG7c/6/

答案 1 :(得分:0)

检查

<强> HTML

<select id="inputs" style="width:60px;">
    <option>1</option>
    <option>2</option>
    <option>3</option>                      
    <option>4</option>
    <option>5</option>
    <option>6</option>
    <option>7</option>
    <option>8</option>
    <option>9</option>
    <option>10</option>
</select>
<a id="add" href="#">Add</a>

<div id="add_words"></div>

<强> Jquery的

$(document).ready(function() {
    var scntDiv = $('#add_words');
    var wordscount = 1;
    var i = $('.line').size() + 1;
  var counter=1;
    $('#add').click(function() {
        var inputFields = parseInt($('#inputs').val());

        if(counter>inputFields){
            alert("Only "+inputFields+" textboxes allow");
            return false;
    }   



            $('<div class="line">Word is ' + counter+ '<input type="text" value="' + counter+ '" /><a class="remScnt" href="#">Remove</a></div>').appendTo(scntDiv);

      counter++;

    });

    //    Remove button
    $('#add_words').on('click', '.remScnt', function() {

        if (counter > 1) {
            $(this).parent().remove();
            counter--;
        }
        return false;
    });
});

<强> Sample Fiddle