我有一个标准的HTML标签值:
<label id="telefon" value="101"></label>
我想通过单击标签来编辑此值,并在出现的文本框中输入新值(如value =“202”).
我怎么能做这么棘手的事情?
我尝试使用JQuery函数,但它真的不会工作:
$(function() {
$('a.edit').on("click", function(e) {
e.preventDefault();
var dad = $(this).parent().parent();
var lbl = dad.find('label');
lbl.hide();
dad.find('input[type="text"]').val(lbl.text()).show().focus();
});
$('input[type=text]').focusout(function() {
var dad = $(this).parent();
$(this).hide();
dad.find('label').text(this.value).show();
});
});
解决方法:
http://jsfiddle.net/jasuC/,由于您没有提供标记,请查看此工作示例
$(document).on("click", "label.mytxt", function () {
var txt = $(".mytxt").text();
$(".mytxt").replaceWith("<input class='mytxt'/>");
$(".mytxt").val(txt);
});
$(document).on("blur", "input.mytxt", function () {
var txt = $(this).val();
$(this).replaceWith("<label class='mytxt'></label>");
$(".mytxt").text(txt);
});