【问题标题】:Append text inputs based on value provided by the user w/ jQuery根据用户使用 jQuery 提供的值附加文本输入
【发布时间】:2015-06-22 03:37:32
【问题描述】:

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] 错误,这意味着它可以工作,但为什么它不附加文本输入!

需要你的帮助

谢谢

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    这是工作的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);
        });
    });
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2015-07-17
        • 1970-01-01
        • 2013-05-17
        • 1970-01-01
        • 2010-12-08
        • 2012-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多