0

こんにちは友達私はjqueryが初めてで、Ajaxを学びたいと思っています。テーブルの行を削除し、行の長さが1つのdivで更新される簡単なコードを開発しました。ここでフィドルを確認するか、以下のコードを見ることができます

脚本

var len = $('table tr').length;

$('.shopItems').text('items in your cart '+len);

$('.del').click(function(){

    var len = $('table tr').length;
    var len = len - 1;
    $('.shopItems').text('items in your cart '+len);
    //alert(len)




if(len == 0)
{
$('table').remove();
    $('.empty').show();
}
    else{
    $(this).parent('tr').remove();
        len--;
    }


})

HTML

<div class="shopItems"></div>

<div class="empty" >Your Cart is empty</div>

<table width="100%">
    <tr>
        <td>Image</td>
        <td>Discription</td>
        <td class="del">X</td>        
    </tr>
        <tr>
        <td>Image</td>
        <td>Discription</td>
        <td class="del">X</td>        
    </tr>
        <tr>
        <td>Image</td>
        <td>Discription</td>
        <td class="del">X</td>        
    </tr>
</table>

CSS

.empty{display:none;}

私の質問は、Ajax を使用してこれと同じことを行うことができますか?どうすれば私を助けてくれますか?

前もって感謝します....

4

1 に答える 1

2

この関数をコードに入れることができます:

ajaxService = (function () {
var ajaxGetJson = function (callback,  isAsyncCall) {

    //by default is an asyncrounous call
    isAsync = (typeof isAsyncCall === "undefined") ? true : isAsyncCall;

    $.ajax({
        url: "http://yourserviceorserversideapphere",
        type: "GET",
        data: request,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        async: isAsync,
        success: function (result, statusMsg, status) //3 parameters always come from ajax
        {
            callback(result, statusMsg, status, request);
        },
        error: function (result, statusMsg, status) //3 parameters always come from ajax
        {
            ServiceFailed(result, statusMsg, status, getSvcUrl(service, method));
        } // When Service call fails
    });
};

次に、デルボタンで:

$('.del').click(function(){
    ajaxService.ajaxGetJson(successAjaxCall, true);
}

そして、successAjaxCallコード内で .del ボタンが行っていることを実行するために、コールバック ( ) に渡す関数があります。

function successAjaxCall(result, statusMsg, status) {

   //you can use the result object to do anything you want here

}
于 2013-09-17T13:59:47.427 に答える