2013-03-06 51 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