我需要在点击时在输入和文本之间切换。类似于实时编辑之类的东西。
我写了这段代码,但它不起作用。
HTML:
<span class="editInput">Change the value on click</span>
<button>Click me</button>
JS:
var editmode = false;
$('button').on('click',function(){
if(editmode){
$('.editInput').replaceWith(function(){
return '<span class='+this.className+'>'+this.value+'</span>';
editmode = false;
})
}else {
$('.editInput').replaceWith(function(){
return '<input type="text" value='+this.text+' class='+this.className+'/>';
editmode = true;
})
}
})
有人可以帮助我吗?
最佳答案
看看这个 Fiddle 。它不是很优雅,但我认为这是比你所做的更快、更干净的解决方案。如果您还有其他问题,请告诉我。
<div>
<input/>
<span>test</span>
</div>
<button>Update</button>
span {
display:none;
}
$('button').on('click',function(){
if($("input").is(":visible")) {
$("input").hide();
$("span").text(
$("input").val()
).show();
$("button").text("Edit");
} else {
$("span").hide();
$("input").text(
$("span").val()
).show();
$("button").text("Update");
}
});
关于Jquery:单击时在输入和文本之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24376302/