web-dev-qa-db-ja.com

JQueryでクリックした後にボタンを無効にする

私のボタンはAJAXを使用してデータベースに情報を追加し、ボタンのテキストを変更します。ただし、1回クリックするとボタンが無効になります。 。どうすればいいですか?

HTML

<button class="btn btn-lg btn-primary" id='roommate_but' onclick='load(<?php echo $user_id;?>)'><span class="glyphicon glyphicon-plus"></span> Add Person</button>

Javascript/AJAX/JQuery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

function load(recieving_id){                                    
    if (window.XMLHttpRequest){
        xmlhttp = new XMLHttpRequest();
    } else{
        xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
    }

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200){  
            document.getElementById("roommate_but").innerHTML =  xmlhttp.responseText;


        }

    }

xmlhttp.open('GET','include.inc.php?i=' + recieving_id, true);

xmlhttp.send();


}
18
user3377126

*更新済み

jQueryバージョンは次のようになります。

function load(recieving_id){
    $('#roommate_but').prop('disabled', true);
    $.get('include.inc.php?i=' + recieving_id, function(data) {
        $("#roommate_but").html(data);
    });
}
23
Manoj Yadav

Jqueryでこれを行うには、属性disabledを「disabled」に設定します。

$(this).prop('disabled', true);

簡単な例を作成しました http://jsfiddle.net/4gnXL/2/

22
kplates