2014-01-31 39 views
0

這裏是劇本我已經寫來處理,但由於某些原因+和 - 交換是沒有發生用+和可摺疊列表 - 標誌不工作

$('.showCheckbox').click(function(e) { 
    var dynamicBox = $(this).attr('val'); 
    var collapseSign = $(this).attr('id'); 
    $('#'+dynamicBox).slideToggle(); 
    $('#'+dynamicBox+collapseSign).html(function(_, text){ 
     return text === '+' ? '−' : '+'; 
    }); 
}); 

你可以在這裏找到小提琴http://jsfiddle.net/7Gt4L/請幫幫忙!

回答

2

我相信你的選擇的collapseSign部分應該是一個字符串。否則,你會試圖匹配類似#partnerspartnerscollapseSign東西,這不存在:

$('.showCheckbox').click(function(e) { 
    var dynamicBox = $(this).attr('val'); 
    $('#'+dynamicBox).slideToggle(); 
    $('#'+dynamicBox+'collapseSign').html(function(_, text){ 
     return text === '+' ? '−' : '+'; 
    }); 
}); 

JSFiddle

2

變化:

$('#'+dynamicBox+collapseSign).html(function(_, text){ 
    return text === '+' ? '−' : '+'; 
}); 

到:

$('#'+collapseSign).html(function(_, text){ 
    return text === '+' ? '−' : '+'; 
}); 

這將使用崩潰跡象的ID點擊更改文本。

Fiddle

+1

如果標題被點擊,而不是符號這不起作用。 – George

+0

這是一個好點,我沒有注意到,你的解決方案更好,因爲它涵蓋了。 – RobF

+0

這就是我加入兩個ID的原因:)反正謝謝@oGeez我被困了一個小時! – user2783484