Javascript 关于文本更改的jquery问题 $(函数(){ var text3; $('.HideButton')。单击(函数(){ text3=$('#MessageText')。text; var theButton=$(这个); $(“#免责声明”).slideToggle('slow',function(){ button.val($(this).is(':可见')?'Hide':'Show'); }); $(“
”+text3+”).addClass(“新”).insertAfter(“#免责声明”); 返回false; }); }); 更新…以上代码不会更改按钮文本Javascript 关于文本更改的jquery问题 $(函数(){ var text3; $('.HideButton')。单击(函数(){ text3=$('#MessageText')。text; var theButton=$(这个); $(“#免责声明”).slideToggle('slow',function(){ button.val($(this).is(':可见')?'Hide':'Show'); }); $(“,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,”+text3+”).addClass(“新”).insertAfter(“#免责声明”); 返回false; }); }); 更新…以上代码不会更改按钮文本 <script type="text/javascript"> $(function () { var text3; $('.HideButton').click(function () { text3 = $('#MessageText').text;
<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;
});
});
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
我希望每次按下按钮时按钮的文本都会发生变化,但事实并非如此
<p id="disclaimer" > DDDDDDDDDDDDDDDDDDDDDDDDDD</p>
<asp:Button ID="Button1" CssClass="HideButton" runat="server" Text="Hide" />
作为文本框中键入的消息。它应该在“#免责声明消失”时出现,这是因为您在保存任何文本之前返回了
删除
返回…;
(或将其移动到函数末尾)将呈现给表单元素。这意味着您应该使用.val()
而不是.text()
正如尼尔所指出的,你会在执行之前返回
<p id="disclaimer" >
<input id="MessageText" type="text" />
</p>
<asp:Button ID="Button21" CssClass="HideButton" runat="server" Text="Hide" />
$('.HideButton')。单击(函数(){
$(“#免责声明”).slideToggle('slow');
//返回false;
如果($(“#免责声明”)。是(“:可见”){
$(this.val('Hide');
}否则{
$(this.val('Show');
}
});
});
dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
尝试在结尾处返回false;)返回后,您的代码将永远不会执行。请尝试此操作
$('.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" />
你最初的问题得到了几次不同的回答和几种不同的方式。现在你问了什么本质上是一个全新的问题 我建议任何进一步的修改都应形成他们自己的问题 这就是你现在想要的吗
如果您向下投票,请留下一个注释,说明您为什么向下投票。按钮上的“调用”(文本)不会改变在该按钮中显示的文本。使用.Var()。我不理解这里的下投票。漂亮的干净代码,但不能用缓存的副本在中间替换该代码> $(this)< />代码吗?$(这个)内部slideToggle指向免责声明div,其中$this指向隐藏按钮,因此我们无法使用它:)这不会在单击按钮时更改按钮的文本。这是一个JSFIDLE变体,它确实会更改。我也不建议使用$this作为变量名,因为它很容易混淆。应该使用信用。这主要是shankar的代码只需要使用.val而不是.textDmitry。这确实回答了您的原始问题,但.val.text除外。您现在完全更改了您的问题。您完全更改了您的问题。现在有一个文本框和一个附加?什么文本框?您的原始问题得到了几次不同的回答,并且有几种不同的方式.现在你已经问了什么本质上是一个全新的问题。我建议任何进一步的改变都应形成他们自己的问题。+1@kasdega这个问题自我们最初回答以来已经完全改变了,不再有意义
$('.HideButton').click(function () {
var theButton = $(this);
$('#disclaimer').slideToggle('slow', function(){
theButton.val($(this).is(':visible')?'Hide':'Show');
});
return false;
});