根据用户w / jQuery

时间:2015-06-21 19:21:33

标签: javascript jquery html

HTML:

<input type="text" id="inputsNum" />
<div id="content"></div>

jQuery的:

$("#inputsNum").bind('change paste keyup', function () {
    var count = $(this).val(),
        content = "";
    for (var i = 0; i < count; i++)
    {
       content += $(this).append($('<input>').prop('type', 'text'));
    }
    $(this).next().html(content);  
});

您好,

希望让用户根据他提供的值添加多个文本输入

我写了上面的代码,但我实际上根据我提供的值重复[object Object]错误,意味着它的工作,但为什么它不附加文本输入!

需要你的帮助

谢谢

2 个答案:

答案 0 :(得分:2)

这是工作JS Fiddle

$(document).ready(function() {
    $("#inputsNum").bind('change paste keyup', function () {
        var count = $(this).val(),
            content = "";
        for (var i = 0; i < count; i++)
        {
           content += '<input type="text" />';
        }
        $('#content').html(content);
    });
});

答案 1 :(得分:0)

您可以尝试将content += $(this).append($('<input>').prop('type', 'text'))替换为content += "<input type='text' />";

您正在使用的append函数返回一个对象,而不是像您期望的那样返回HTML作为字符串。因此,当您将其添加为字符串时,对象的toString()方法将其转换为[object Object]并将其附加到HTML