Javascript 如何在单击按钮或链接时重新禁用(禁用)文本框?

Javascript 如何在单击按钮或链接时重新禁用(禁用)文本框?,javascript,Javascript,我有一个脚本,可以在单击按钮时启用禁用的文本框。但是,我只是不知道如何再次禁用文本框 编码如下 HTML: 我把它做成了一把小提琴。但是,它不起作用。是链接。问题是这一行$(“.disable”)。单击(function(){…}) 您正在将单击事件处理程序绑定到名为disabled的类,该类最初在页面加载期间不可用,稍后会动态显示 您需要将事件处理程序委托给始终存在的某个父级,然后在那里处理事件,在这种情况下,您可以执行以下操作: $(".input-group").on('click

我有一个脚本,可以在单击按钮时启用禁用的文本框。但是,我只是不知道如何再次禁用文本框

编码如下

HTML:


我把它做成了一把小提琴。但是,它不起作用。是链接。

问题是这一行
$(“.disable”)。单击(function(){…})

您正在将单击事件处理程序绑定到名为
disabled
的类,该类最初在页面加载期间不可用,稍后会动态显示

您需要将事件处理程序委托给始终存在的某个父级,然后在那里处理事件,在这种情况下,您可以执行以下操作:

    $(".input-group").on('click', '.disable', function(){
        $(this).toggleClass("enable");
        $(this).toggleClass("disable");
        $(this).parent().parent().children(".input-box").attr("disabled", "disabled");
    });

函数

问题是这一行$(“.disable”)。单击(函数(){…})

您正在将单击事件处理程序绑定到名为
disabled
的类,该类最初在页面加载期间不可用,稍后会动态显示

您需要将事件处理程序委托给始终存在的某个父级,然后在那里处理事件,在这种情况下,您可以执行以下操作:

    $(".input-group").on('click', '.disable', function(){
        $(this).toggleClass("enable");
        $(this).toggleClass("disable");
        $(this).parent().parent().children(".input-box").attr("disabled", "disabled");
    });

函数

与添加和删除类不同,只需使用以下选项切换禁用的属性:

$(".enable").click(function() {
    $(this).closest('.input-group').find('input').prop('disabled', !$(this).closest('.input-group').find('input').prop('disabled'))
});

与其添加和删除类,只需使用以下选项切换disabled属性:

$(".enable").click(function() {
    $(this).closest('.input-group').find('input').prop('disabled', !$(this).closest('.input-group').find('input').prop('disabled'))
});

您不能绑定不存在的元素“.disable”,在这种情况下,您可以在更改其类时重新绑定它。代码隐藏可能会帮助您:

$(.enable”)。在(“单击”,enabledClick)上
函数enabledClick(参数){
$(.enable”).parent().parent().children(.input box”).removeAttr(“禁用”);
$(.enable”).toggleClass(“禁用”);
$(.enable”).toggleClass(“enable”);
$(“.disable”)。打开(“单击”,禁用单击)
}
函数disabledClick(参数){
$(“.disable”).parent().parent().children(“.input box”).attr(“disabled”,”);
$(“.disable”).toggleClass(“enable”);
$(“.disable”).toggleClass(“disable”);
$(.enable”)。在(“单击”,enabledClick)上

}
您无法绑定不存在的元素“.disable”,在这种情况下,您可以在更改其类时重新绑定它。代码隐藏可能会帮助您:

$(.enable”)。在(“单击”,enabledClick)上
函数enabledClick(参数){
$(.enable”).parent().parent().children(.input box”).removeAttr(“禁用”);
$(.enable”).toggleClass(“禁用”);
$(.enable”).toggleClass(“enable”);
$(“.disable”)。打开(“单击”,禁用单击)
}
函数disabledClick(参数){
$(“.disable”).parent().parent().children(“.input box”).attr(“disabled”,”);
$(“.disable”).toggleClass(“enable”);
$(“.disable”).toggleClass(“disable”);
$(.enable”)。在(“单击”,enabledClick)上

}
您的javascript是在单独的文件中还是在同一个文件中?如果它在单独的文件中,您必须使用script标记将它包括在您的fiddle中,这表明您的jquery文件没有找到……javascript在同一个文件中。当我点击按钮时,它就开始工作了。但是,无法重新禁用它。@Abbas,我不知道如何将外部链接添加到fiddle。我是新来的。你能帮我编辑一下小提琴吗?你的javascript是在单独的文件中还是在同一个文件中?如果它在单独的文件中,您必须使用script标记将它包括在您的fiddle中,这表明您的jquery文件没有找到……javascript在同一个文件中。当我点击按钮时,它就开始工作了。但是,无法重新禁用它。@Abbas,我不知道如何将外部链接添加到fiddle。我是新来的。你能帮我编辑一下小提琴吗?谢谢。这正是我想要的答案。谢谢。这正是我想要的答案。谢谢你的回答,@Jack。谢谢你的回答,@Jack。