我的输入未按预期显示

时间:2011-07-21 07:33:41

标签: jquery loops hide generator show

我的代码应该是:

  1. 生成十个<input> - 完成
  2. 隐藏除前三项之外的所有内容 - 完成
  3. 在最后一个可见的内容中更改某些内容时显示下一个输入。 这部分不起作用!
  4. 我该如何解决?

    for (var i = 0; i < 10; ++i) {
    
        if (i == 0) {
    
            $('#tags').append('<input name="group_interests[]" class="group_interests" type="text" />');
    
        } else {
    
            $('#tags').append('<input name="group_interests[]" class="group_interests default_text" type="text" value="start typing to see the list" />');
    
        }
    
    }
    
    $('#tags .group_interests:gt(2)').hide();
    
    $('#tags .group_interests:visible').last().focus( function() {
    
        $(this).next().show();
    
    });
    

1 个答案:

答案 0 :(得分:1)

您的焦点始终与同一输入绑定。 试试这个:

for (var i = 0; i < 10; ++i) {
    if (i == 0) {
        $('#tags').append('<input name="group_interests[]" class="group_interests" type="text" />');
    } else {
        $('#tags').append('<input name="group_interests[]" class="group_interests default_text" type="text" value="start typing to see the list" />');
    }
}

$('#tags .group_interests:gt(2)').hide();

$('#tags .group_interests:visible').last().focus(showNext);

function showNext() {
    $(this).unbind('focus').next().show().focus(showNext);
}