Javascript 使用jquery删除循环中输入标记的禁用属性
我试图使用循环和输入id作为查询选择器逐个删除输入的禁用属性,但它没有按预期工作。我在没有循环的情况下成功地实现了它,但是我必须为此编写3个不同的代码。请帮忙。谢谢Javascript 使用jquery删除循环中输入标记的禁用属性,javascript,jquery,html,loops,input,Javascript,Jquery,Html,Loops,Input,我试图使用循环和输入id作为查询选择器逐个删除输入的禁用属性,但它没有按预期工作。我在没有循环的情况下成功地实现了它,但是我必须为此编写3个不同的代码。请帮忙。谢谢 编辑:keyup事件将在下一个输入字段上切换禁用属性。例如,如果第一个输入不为空,则第二个输入字段中的禁用属性将被删除。当第一个输入为空时,第二个输入将再次被禁用。这适用于第三和第四个输入字段 var输入=$('input'); 对于(变量i=0;iel.value.replace(/\/)=''; //在输入数组上迭代的函数,禁
编辑:keyup事件将在下一个输入字段上切换禁用属性。例如,如果第一个输入不为空,则第二个输入字段中的禁用属性将被删除。当第一个输入为空时,第二个输入将再次被禁用。这适用于第三和第四个输入字段
var输入=$('input');
对于(变量i=0;i
您不能循环使用未知数量的ID。如果ID不是静态的并且您知道,那么为这些元素提供一个额外的类,如
class=“mySpecialItem”
。然后查询类而不是ID so$(“.mySpecialItem”)
。这将返回一个数组(也就是一个“列表”),您可以在其中循环并为每个条目执行操作:)
只是为了澄清:一个
id
仅用于唯一地选择和区分这一项。如果您想拥有一个类似“组”,那么使用class
您不能循环使用未知数量的ID。如果ID不是静态的并且您知道,那么为这些元素提供一个额外的类,如class=“mySpecialItem”
。然后查询类而不是ID so$(“.mySpecialItem”)
。这将返回一个数组(也就是一个“列表”),您可以在其中循环并为每个条目执行操作:)
只是为了澄清:一个
id
仅用于唯一地选择和区分这一项。如果你想成为一个“团队”,那么就使用类这就是你想要执行的吗
$('input').keyup(函数(){
$(this).next('input').attr('disabled',false);
});代码>
这就是您要执行的操作吗
$('input').keyup(函数(){
$(this).next('input').attr('disabled',false);
});代码>
如果id
是唯一的,请尝试这种方法
if ($("#id3").val() != '') {
$("#id3").prop('disabled', false);
} else {
$("#id3").prop('disabled', true);
}
我希望您能有所帮助。如果id
是唯一的,请尝试这种方法
if ($("#id3").val() != '') {
$("#id3").prop('disabled', false);
} else {
$("#id3").prop('disabled', true);
}
我希望你能有所帮助。我想这就是你想要实现的目标吧
编辑
与其他解决方案不同,此解决方案将自动切换所有输入字段上的禁用属性,而不仅仅是触发keyup
事件的下一个内联字段
//声明输入数组。
让输入=[];
//用于检查输入字段是否为空的函数。
const isEmpty=el=>el.value.replace(/\/)='';
//在输入数组上迭代的函数,禁用相关字段。
const toggleDisabled=()=>{
设disablerements=false;
输入。forEach((el,j)=>{
const next=输入[j+1]|{};
如果(!disablerements)disablerements=isEmpty(el);
next.disabled=disablerements;
});
};
//一个用于处理向上键事件的函数。
const onkeyupchandler=e=>{
常数me=e.target;
const index=me.id.replace(/\D/g');
const value=me.value.replace(/\/g',);
切换禁用();
};
//一个函数,用于最初将事件处理程序添加到
//投入。
const dispatchEvents=()=>inputs.forEach(el=>el.onkeyup=onkeyupchandler);
//当DOM就绪时运行上述代码。
$(文档).ready(()=>{
inputs=document.querySelectorAll(“输入”);//更新值。
dispatchEvents();
});代码>
我想这就是你想要实现的目标
编辑
与其他解决方案不同,此解决方案将自动切换所有输入字段上的禁用属性,而不仅仅是触发keyup
事件的下一个内联字段
//声明输入数组。
让输入=[];
//用于检查输入字段是否为空的函数。
const isEmpty=el=>el.value.replace(/\/)='';
//在输入数组上迭代的函数,禁用相关字段。
const toggleDisabled=()=>{
设disablerements=false;
输入。forEach((el,j)=>{
const next=输入[j+1]|{};
如果(!disablerements)disablerements=isEmpty(el);
next.disabled=disablerements;
});
};
//一个用于处理向上键事件的函数。
const onkeyupchandler=e=>{
常数me=e.target;
const index=me.id.replace(/\D/g');
const value=me.value.replace(/\/g',);
切换禁用();
};
//一个函数,用于最初将事件处理程序添加到
//投入。
const dispatchEvents=()=>inputs.forEach(el=>el.onkeyup=onkeyupchandler);
//当DOM就绪时运行上述代码。
$(文档).ready(()=>{
inputs=document.querySelectorAll(“输入”);//更新值。
dispatchEvents();
});代码>
keyup事件将如何在禁用的元素上触发?您需要它的确切方式是什么?当您单击输入以键入内容或需要逐个启用输入时