Javascript 在html中创建按钮

Javascript 在html中创建按钮,javascript,html,Javascript,Html,我的布局有多个开始按钮: 但它们都是由一行代码生成的 现在我想禁用我单击的按钮,不是所有按钮 想象一下里面是一个for循环和呼叫按钮。 $(文档).ready(函数(){ $(文档).on('单击','.startDocker',函数(){ //document.getElementById(“startDocker”).disabled=true; //码头工人 $.ajax({ 键入:“post”, url:“DockerIntegration”, 成功:函数(){ 警惕(“成功”);

我的布局有多个开始按钮:

但它们都是由一行代码生成的

现在我想禁用我单击的按钮,不是所有按钮

想象一下里面是一个for循环和呼叫按钮。

$(文档).ready(函数(){
$(文档).on('单击','.startDocker',函数(){
//document.getElementById(“startDocker”).disabled=true;
//码头工人
$.ajax({
键入:“post”,
url:“DockerIntegration”,
成功:函数(){
警惕(“成功”);
document.getElementsByClassName(“startDocker”).disabled=true;
},
错误:函数(){
警报(“错误”);
}
});
});
});

开始
开始
开始
开始
开始
开始
试试这个js:

$(document).on('click', '.startDocker', function(){
var _button = $(this);
        // document.getElementById("startDocker").disabled = true;
        // Run Docker
        $.ajax({
            type: 'post',
            url: 'DockerIntegration',
            success: function () {
                alert("success");
                _button.prop('disabled', true);
            },
            error: function() {
                alert("error");
            }
        });
    });

您可以通过
$(此)

试试这个

$(文档).ready(函数(){
$(文档).on('单击','.startDocker',函数(){
$(this.prop(“disabled”,true);
//document.getElementById(“startDocker”).disabled=true;
//码头工人
$.ajax({
键入:“post”,
url:“DockerIntegration”,
成功:函数(){
警惕(“成功”);
document.getElementsByClassName(“startDocker”).disabled=true;
},
错误:函数(){
警报(“错误”);
}
});
});
});

开始
开始
开始
开始
开始

开始
文档。GetElementsByCassName
返回对象数组,您必须禁用单击的特定对象。尝试:

$(document).on('click','.startDocker' ,function(){
    //document.getElementById("startDocker").disabled = true;
    //Run Docker
    $.ajax({
        type: 'post',
        context: this,
        url: 'DockerIntegration',
        success: function () {
            alert("sucess");
            this[0].disabled = true;
        },
        error: function() {
            alert("error");
        }
    });
});

首先将
this
上下文指定给ajax函数,然后从jquery对象
this[0]
获取DOM对象,并将disabled设置为true。

使用保存按钮对象的“this”对象,单击按钮可将其禁用

$(文档).ready(函数(){
$(文档).on('单击','.startDocker',函数(){
var$this=这个;
//码头工人
$.ajax({
键入:“post”,
url:“DockerIntegration”,
成功:函数(){
警惕(“成功”);
$this.disabled=true;
},
错误:函数(){
警报(“错误”);
}
});
});
});

开始
开始
开始
开始
开始

开始
您应该按照下面的代码执行

$(document).ready(function () {

            $(document).on('click', '.startDocker', function () {
                var $this = $(this);
                $.ajax({
                    type: 'post',
                    url: 'DockerIntegration',
                    success: function () {
                        alert("sucess");
                        $this.attr("disabled", "disabled");
                    },
                    error: function () {
                        alert("error");
                    }
                });
            });

        });

和你试过什么?你得到了什么结果?你有什么具体问题?第一个禁用不起作用。如果我按ID做,它会禁用一切,等等。。。我想禁用我单击的按钮,而不是所有按钮。回调函数将事件作为参数,您可以从中获取目标元素(本例中的按钮)。不起作用…
\u button
是一个jQuery对象,而不是
HTMLElement
,因为
\u button.disabled=true
不起作用。尝试
var\u按钮=this你可以像@Titus says那样更改它,或者我想使用JQuery,你可以忽略ajax响应,将其更改为disabled,但现在这是一个很好的解决方案,请不要忘记接受最好的答案:)“你应该喜欢”不是一个非常有用的解释
$(document).ready(function () {

            $(document).on('click', '.startDocker', function () {
                var $this = $(this);
                $.ajax({
                    type: 'post',
                    url: 'DockerIntegration',
                    success: function () {
                        alert("sucess");
                        $this.attr("disabled", "disabled");
                    },
                    error: function () {
                        alert("error");
                    }
                });
            });

        });