2013-01-23 115 views
0

我的切換有問題。我發現了類似的帖子,但沒有我真正理解。更改按鈕的文本值

我想要的按鈕來更改文本「項目信息 - 」點擊,再點擊時恢復到「項目信息+」

這裏的問題(項目信息按鈕)時 - >http://marcuspedersen.com/oyafestivalen.html

代碼:

的jquery

$('#toggle').click(function() { 
    $('#workinfo').slideToggle (300, 'linear'); 
}); 

按鈕

<input type="button" id="toggle" value="Project Info +"/> 

回答

4

我建議:

$('#toggle').click(function(e){ 
    // you may also want: 
    // e.preventDefault(); 
    // depending what else you're doing, and how you're doing it 
    $(this).val(function(i,v){ return v == 'Project Info +' ? 'Project Info -' : 'Project Info +'; }); 
}); 

JS Fiddle demo。順便說一句,如果您對同一個元素/ jQuery對象執行的操作不止一個,那麼緩存該對象並隨後使用緩存的對象用於將來的操作將是明智的。

考慮到我在這裏使用了click()而不是toggle(),因爲後者從jQuery 1.9開始已經被棄用了。

參考文獻:

+0

哦,好吧!非常感謝! –

+0

非常歡迎你;我很高興得到了幫助! =) –

+0

它沒有工作,他們的方式我想要它,因爲下拉頁面沒有顯示,但下面的答案結合你的我的代碼!並修復它!再次感謝! –

1

試試這個

$('#toggle').click(function() { 
    $('#workinfo').slideToggle (300, 'linear'); 
    $(this).val($(this).val() == 'Project Info +' ? 'Project Info -' : 'Project Info +'); 
}); 
+1

非常感謝!這很好! –