2013-03-06 91 views
0

我有多個表格顯示切換內容,其中一個按鈕的確定,但我想用按鈕來做同樣的事情,但如果我點擊按鈕之一,我想改變第一類按鈕和第二個按鈕,當你點擊第二個按鈕來切換元素時,我想要爲這兩個按鈕更改類。兩個按鈕多個切換元素jQuery

$('.triggerNew,.triggerInfo').click(function() { 
    var Itemid = $('#Itemid').val(); 
    var text = $(this).text(); 
    var id = $(this).attr('id'); 
    var lijn = 'tr#' + 'lijn' + $(this).attr('id'); 
    var extra = 'tr#' + 'extra' + $(this).attr('id'); 
    var result = '#result' + $(this).attr('id'); 
    var triggerNew = $(".triggerNew"); 

    $('.triggerNew').text($(this).text() == '[-]' ? '[+]' : '[-]'); 
    $('.triggerInfo').text($(this).text() == 'infonew' ? 'info' : 'infonew'); 

    if(text == '[+]' || text == 'info') { 
    $("<tr id=\"extra" + id + "\"><td colspan=\"5\"><div id=\"result" + $(this).attr('id') + "\"><div class=\"block\" style=\"text-align:center;padding:10px 0 10px 0;\"><img src=\"img/ajax-loader.gif\" /></div></div></td></tr>").insertAfter(lijn); 

    $(extra).hide(); 
    $(extra).slideDown('slow'); 
    $(result).load(rooturl+'#' + id + '&Itemid=' + Itemid); 
    $(this).removeClass('yescondext').addClass('nocondtext'); 

    return false; 
    } else { 
    $(extra).slideUp('slow'); 
    $(result).remove(); 
    $(this).removeClass('nocondtext').addClass('yescondext'); 
    return false; 
    } 
}); 

任何一個可以幫我請

所有的代碼是在這裏

http://jsfiddle.net/QKyYS/8/

+0

請把你的HTML也。 – hjpotter92 2013-03-06 16:28:48

+0

http://jsfiddle.net/QKyYS/8/ – 2013-03-06 17:41:24

回答

1

我認爲this是你的想法。

如何實現它:

$(this).closest('td').find(".triggerNew").text($(this).closest('td').find(".triggerNew").text() == '[-]' ? '[+]' : '[-]'); 
$(this).closest('td').find(".triggerInfo").text($(this).closest('td').find(".triggerInfo").text() == 'infonew' ? 'info' : 'infonew'); 

應該有,只是$(result).load(rooturl + '#' + id + '&Itemid=' + Itemid);調用之後。

而且,在else塊再次

$(this).closest('td').find(".triggerNew").text($(this).closest('td').find(".triggerNew").text() == '[-]' ? '[+]' : '[-]'); 
$(this).closest('td').find(".triggerInfo").text($(this).closest('td').find(".triggerNew").text() != 'infonew' ? 'info' : 'infonew'); 

fiddle鏈路。

+0

但我也有行之後 '$(本).removeClass( 'nocondtext')addClass( 'yescondext');' ,我想補充將這個類加入到這兩個元素中並移除 – 2013-03-07 08:54:33

+0

@ user2140670用'$(this).closest('td')。find(「。triggerNew,.triggerInfo」)替換'$(this)'' – hjpotter92 2013-03-07 09:04:37

+0

謝謝你的作品優秀 – 2013-03-07 10:27:27