jquery渐进式文本框激活
我已经排列了许多文本框(数字不是常数)。使用jquery,我使用each函数禁用了除第一个函数之外的所有函数。文本框被赋予一个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); 我想要的是-如果第一个文本框中有一个值,则第二
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);
}
});
}
});
});