我正在尝试为我的网站建立自定义关键字字段,

事情是我有一个输入div持有人,我在其中通过单击按钮追加输入,但是我检查

$('div inputs').last().val().length < 3


如果小于3,我会摇晃输入,否则:

$('div inputs').last().after('<input type="text" />')




问题是:

$('div inputs').last().val()

总是返回第一个输入值,我在做什么错?

DEMO

最佳答案

您已将输入缓存在顶部,因此您始终使用同一组输入控件-一个。

在回调中定义您的输入变量,它将起作用:

$('body').on('click','#addkey',function(e){
    var inputs = $('#keysInput input');

    if(inputs.last().val().length < 3){
        $('#keysInput input').last().effect("shake", { times:1, distance: -5 }, 300);
    }else{
        console.log(inputs.last().val());
        $('#keysInput input').last().after('<input type="text" placeholder="type another keyword" />');
    }
})

08-18 13:30
查看更多