我想在点击按钮时更改按钮。初始只有一个“编辑”按钮。单击它后,它将变为“保存”按钮,我还想在其旁边显示“取消”按钮。 我怎样才能做到这一点?我有以下代码。
<!DOCTYPE html>
<html>
<head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<meta charset=utf-8 />
<title>demo by roXon</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<button data-text="Save">Edit</button>
<p>Hello</p>
<p style="display: none">Good Bye</p>
<script>
$("button").click(function(){
$(this).nextUntil('button').toggle();
var btnText = $(this).text();
$(this).text( $(this).data('text') );
$(this).data('text', btnText );
});
</script>
</body>
</html>
答案 0 :(得分:3)
您可以为取消添加新按钮,并根据需要隐藏它。 你可以关注demo here
以下是您需要的代码:
<button id='EditSave' data-text="Save">Edit</button>
<button id='Cancel' data-text="Cancel" style="display:none;">Cancel</button>
<p>Hello</p>
<p style="display: none">Good Bye</p>
$("#EditSave").click(function(){
var btnText = $(this).text();
if(btnText == 'Edit')
{
$(this).text('Save');
$('#Cancel').show();
}
else
{
$(this).text('Edit');
$('#Cancel').hide();
}
});
$('#Cancel').click(function(){
$(this).hide();
$('#EditSave').text('Edit');
});
答案 1 :(得分:2)
我建议使用类似 jsFiddle example 的布局和jQuery。
<强>的jQuery 强>
$('.edit').click(function() {
$(this).hide();
$(this).siblings('.save, .cancel').show();
});
$('.cancel').click(function() {
$(this).siblings('.edit').show();
$(this).siblings('.save').hide();
$(this).hide();
});
$('.save').click(function() {
$(this).siblings('.edit').show();
$(this).siblings('.cancel').hide();
$(this).hide();
});
<强> HTML 强>
<form>
<div>
<input class="edit" type="button" value="Edit" />
<input class="save" type="button" value="Save" />
<input class="cancel" type="button" value="Cancel" />
</div>
<div>
<input class="edit" type="button" value="Edit" />
<input class="save" type="button" value="Save" />
<input class="cancel" type="button" value="Cancel" />
</div>
<div>
<input class="edit" type="button" value="Edit" />
<input class="save" type="button" value="Save" />
<input class="cancel" type="button" value="Cancel" />
</div>
</form>
的 CSS 强>
.save, .cancel {
display:none;
}