2011-01-19 48 views
0

關於ajax成功,我必須隱藏一個類並顯示不同的類。 假設我有「foo」和「bar」兩個類。現在它有「富」類,當我的ajax返回成功,然後我想顯示「欄」類。如何顯示隱藏課程?

$.ajax({ 
     type:'POST', 
     url:"/test/", 
     data:{"test_data": my_data}, 
     success:function(data) { 

     }, 
     dataType:"json" 
     // here I want to hide the "foo" class and show the "bar" class. 
    }); 

其實「foo」和「bar」是一類按鈕。當我點擊具有「foo」類的按鈕時,它應該隱藏並且應該顯示具有「bar」類的按鈕。反之亦然

+0

一個元素與兩個類?或不同的元素與相應的類? – Reigel 2011-01-19 08:42:53

+0

正如你可以從給定答案的差異中看到的,似乎你必須澄清你的問題。你想用* foo`和`bar`類去除/添加*類或*顯示/隱藏*元素。如果一個元素有兩個類,會怎樣? – 2011-01-19 08:44:21

回答

1

你們沒有要應用此哪個元素mentiond。反正這會給你一個想法:

$.ajax({ 
    type:'POST', 
    url:"/test/", 
    data:{"test_data": my_data}, 
    success:function(data) { 

    }, 
    dataType:"json" 
    complete: function(xhr) { 
     // if you want to switch classes on a specific element 
     $('element_you_want_to_switch_classes').toggleClass('foo bar'); 

     // if you want to show/hide different elements 
     $('.foo').hide(); 
     $('.bar').show(); 
    } 
}); 

後(如果失敗與否不論)的ajax request已完成這將應用更改。如果您只是想在成功中應用更改,請將該行包裝到您的success handler中。

1
$(".foo").hide(); 
$(".bar").show(); 
0

只要把隱藏和顯示命令的成功功能:

 
.... 
success:function(data) { 
    $(".foo").hide(); 
    $(".bar").show(); 
}