2011-07-19 30 views
-1
<script type="text/javascript"> 

    $(function() { 

     var text3; 
     $('.HideButton').click(function() { 


      text3 = $('#MessageText').text; 

      var theButton = $(this); 

      $('#disclaimer').slideToggle('slow', function() { 
       theButton.val($(this).is(':visible') ? 'Hide' : 'Show'); 
      }); 


      $('<p>' + text3 + '</p>').addClass("new").insertAfter('#disclaimer'); 
      return false; 



     }); 


    }); 

更新jQuery的問題...上面的代碼並沒有改變按鈕文本關於文本更改

<p id="disclaimer" > DDDDDDDDDDDDDDDDDDDDDDDDDD</p> 
<asp:Button ID="Button1" CssClass="HideButton" runat="server" Text="Hide" /> 

我想要的按鈕上的文字每次我按下它改變..但它沒有

<p id="disclaimer" > 

    <input id="MessageText" type="text" /> 


</p> 

<asp:Button ID="Button21" CssClass="HideButton" runat="server" Text="Hide" /> 

由於在文本框中鍵入的消息應該出現在「#免責聲明消失

+1

您完全改變了您的問題。現在有一個文本框和一個附加?什麼文字框? – kasdega

+0

你原來的問題被回答了幾個不同的時間和幾個不同的方式。現在你已經問過本質上是一個全新的問題。 我建議任何進一步的變化形成他們自己的問題。 – kasdega

+0

+1 @kasdega這個問題已經完全改變,因爲我們原來回答它,不再有意義 – rtpHarry

回答

0

那是因爲你在返回之前返回了任何文本。

除去return ...;(或將其移動到函數結束)

1

的將渲染到表格元素。這意味着您應該使用.val()而不是.text()

同樣如Neil指出的那樣,您在執行此操作前已經返回。

$('.HideButton').click(function() { 
     $('#disclaimer').slideToggle('slow'); 

     // return false; 

     if ($('#disclaimer').is(':visible')) { 
      $(this).val('Hide'); 

     } else { 
      $(this).val('Show'); 

     } 
    }); 
}); 

<p id="disclaimer" > DDDDDDDDDDDDDDDDDDDDDDDDDD</p> 
<asp:Button ID="Button1" CssClass="HideButton" runat="server" Text="Hide" /> 
+0

如果你投下一些東西,請留下一個關於你爲什麼投票的投票。 – kasdega

+0

調用按鈕上的.text()不會更改該按鈕中顯示的文本。使用.val()會。我不明白這裏的倒票。 http://jsfiddle.net/kasdega/99GaJ/ – kasdega

+0

+1這是正確的。不知道爲什麼它被拒絕投票。 – fehays

0

回到你的代碼後,將永遠不會被執行。試試這個

$('.HideButton').click(function() { 
     var theButton = $(this); 
     $('#disclaimer').slideToggle('slow', function(){ 
      theButton.val($(this).is(':visible')?'Hide':'Show'); 
     }); 
    return false; 
}); 
+0

不錯的乾淨的代碼,雖然不能用你的緩存副本替換中間的$(this)'? – rtpHarry

+0

$(this)inside slideToggle指向免責聲明div,因爲$ this指向hideButton,所以我們不能使用它:) – ShankarSangoli

+1

這不會改變單擊按鈕時的文本。這裏有一個JSfiddle變體...我也不建議使用$ this作爲var名稱,因爲它很混亂。 http://jsfiddle.net/kasdega/99GaJ/ – kasdega

0

你原來的問題回答了幾個不同的時間和幾個不同的方法。現在你已經問過本質上是一個全新的問題。

我建議任何進一步的變化形成自己的問題。

這是你現在想要的嗎?

http://jsfiddle.net/kasdega/99GaJ/1/