2011-07-19 95 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/