jQuery动态地在keyup上插入新的输入框

时间:2013-10-20 09:02:39

标签: javascript jquery dynamic insert keyup

这是原帖: Multiple dynamic input text javascript

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

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

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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

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

newTxt.val('');