0

这是原始帖子: 多个动态输入文本javascript

Here is my attempt: http://jsfiddle.net/AZz6R/

我发现我的尝试与原始帖子之间的区别可能在于 JavaScript 和 jQuery 如何处理 return 语句。在原帖中,由于某种原因,代码仍然会在 return 语句之后执行。

我的问题是任何人都可以帮助我使代码在 jQuery 而不是纯 JavaScript 中工作吗?

4

2 回答 2

1

尝试这个:

$('#myDiv').on('keyup', 'input', function() {
    if($(this).val() == ''){
        $(this).next().remove();
        return;
    }
    else if($(this).next().val() == '') {
        console.log('here');
        return;
    }

    var newTxt = $(this).clone();
    var id = newTxt.attr('id');
    newTxt.attr('id', 'txt_' + (parseInt(id.substring(id.indexOf('_') + 1))));
    newTxt.val('');
    $(this).parent().append(newTxt);

});

jsFiddle

于 2013-10-20T10:24:01.313 回答
0

您的代码中的主要问题是if条件。改变它如下应该工作:

if($(this).val()==''){
    $(this).next().remove();
    return;
}
else if($(this).next().val()) {
    console.log('here');
    return;
}

第二个问题是,克隆输入的值不会变空。改变它如下将工作:

newTxt.val('');
于 2013-10-21T03:43:44.110 回答