<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;
});
});
更新...以上代码不会更改按钮文本
<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" />
在文本框中输入消息时,应该在“#disclaimer消失
时出现答案 0 :(得分:1)
将呈现给表单元素。这意味着您应该使用.val()
代替.text()
同样正如尼尔指出的那样,在你被执行之前你会回来。
$('.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" />
答案 1 :(得分:0)
那是因为你在更改任何文字之前就已经回来了。
删除return ...;
(或将其移至函数末尾)
答案 2 :(得分:0)
尝试在结尾处返回false;)
答案 3 :(得分:0)
返回后,您的代码将永远不会被执行。试试这个
$('.HideButton').click(function () {
var theButton = $(this);
$('#disclaimer').slideToggle('slow', function(){
theButton.val($(this).is(':visible')?'Hide':'Show');
});
return false;
});
答案 4 :(得分:0)
您的原始问题在几个不同的时间和几种不同的方式得到了回答。现在你已经问过什么本质上是一个全新的问题了。
我建议在他们自己的问题中形成任何进一步的变化。
这是你现在想要的吗?