jquery渐进式文本框激活

jquery渐进式文本框激活,jquery,input,textbox,keyup,Jquery,Input,Textbox,Keyup,我已经排列了许多文本框(数字不是常数)。使用jquery,我使用each函数禁用了除第一个函数之外的所有函数。文本框被赋予一个class=“user\u inputs”,id被逐步赋予为id=“text1”、“text2”等等 $('input.user_inputs').each(function(){$(this.attr('disabled','true')); $('input#text1').attr('disabled',false); 我想要的是-如果第一个文本框中有一个值,则第二

我已经排列了许多文本框(数字不是常数)。使用jquery,我使用each函数禁用了除第一个函数之外的所有函数。文本框被赋予一个
class=“user\u inputs”
,id被逐步赋予为
id=“text1”、“text2”
等等

$('input.user_inputs').each(function(){$(this.attr('disabled','true'));
$('input#text1').attr('disabled',false);

我想要的是-如果第一个文本框中有一个值,则第二个文本框被激活,如果第二个文本框中也有一个值,则第三个文本框被激活,依此类推。我尝试了一个带有keyup函数的for循环,如下所示:

    var n=1
for(n;n<=total_textboxes;n++){
$('input#text' + n).keyup(function() {
    $('input#text' + n + 1).attr('disabled',false)
});//end keyup
}//end for
var n=1
对于(n;n试试这个:

var inputs = $(".user_inputs");
for(var i = 1; i < inputs.length + 1; i++){
  var prev = $("#text" + (i - 1));
  if(prev.length){
    $("#text" + i).attr("disabled", prev.val() == '' ? true : false);
  }
}
var输入=$(“.user_输入”);
对于(变量i=1;i

要删除属性,或者更好地说,要删除禁用属性,您必须使用:

 $('input#text' + n + 1).removeAttr('disabled');

您实际上不需要使用
来(n;ndoes不起作用..我想这里的问题是我们没有将此代码与任何事件关联..我用键盘输入法尝试了它#text1对不起,我传递的是禁用属性的字符串,而不是布尔值、编辑的答案和伴随的小提琴。在4个文本框后不起作用。我想我可以修改它以使其起作用。当然,这之后不会起作用r 4个文本框,因为下一个框没有类似于
text1
text2
的id。我这样做是为了防止包含其他不必要的输入元素。继续将id添加到其他输入中,如
text6
text7
。这样做会起作用。
<input type="text" class="user_inputs" id="text1" />
<input type="text" class="user_inputs" id="text2" />
<input type="text" class="user_inputs" id="text3" />
<input type="text" class="user_inputs" id="text4" />
<input type="text" class="user_inputs" id="text5" />
<input type="text" class="user_inputs" />
<input type="text" class="user_inputs" />
<input type="text" class="user_inputs" />
<input type="text" class="user_inputs" />
$(document).ready(function(){
    // To demonstrate disable all first
    $('input.user_inputs').each(function() { $(this).attr('disabled','true'); });
    // Left only first one enabled
    $('input#text1').attr('disabled',false);
    // For each of your inputs
    $('input[type=text]').each(function() {
        // Search for "#text + (n + 1)" blabla.. named ones
        if ($.trim(this.id).indexOf("text") >= 0) {
            // Bind keyup
            $(this).keyup(function() {
                // Again search for "#text" named ones
                if ($.trim($(this).next().attr('id')).indexOf("text") >= 0) {
                    // Enable
                    $(this).next().attr('disabled', false);
                }
            });
        }
    });
});