Jquery 以文本形式隐藏输入和输出输入值,并能够通过显示输入更改值

Jquery 以文本形式隐藏输入和输出输入值,并能够通过显示输入更改值,jquery,Jquery,你能给我一个关于jquery的插件或解决方案吗 我需要有一个电子邮件类型的输入字段。当输入时,它的显示就像附加的图像一样 您可以单击更改链接,输入将再次显示此值 最好的方法是什么 谢谢 像这样的? Eugene@gmail.com像这样的东西? Eugene@gmail.com您可以使用类似于插件的插件或实现如下自定义解决方案: HTML <label for="email">Email:</label> <div id="email">eugene@gma

你能给我一个关于jquery的插件或解决方案吗

我需要有一个电子邮件类型的输入字段。当输入时,它的显示就像附加的图像一样

您可以单击更改链接,输入将再次显示此值

最好的方法是什么

谢谢

像这样的?
Eugene@gmail.com

像这样的东西?
Eugene@gmail.com

您可以使用类似于插件的插件或实现如下自定义解决方案:

HTML

<label for="email">Email:</label>
<div id="email">eugene@gmail.com</div>
<a href="#" id="changeEmail" data-target="email">change</a>
电子邮件:
eugene@gmail.com
JS

// Switch to Input //
$('#changeEmail').bind('click', function(e){

    // Prevent Switch if Already Input //
    if ($(this).get(0).tagName != 'input') {
        var $target = $('#'+$(this).data('target')); // Get Target Element
        var val = $target.text(); // Get Current Target Value

        // Swap Elements //
        $target.replaceWith('<input id="email" type="text" value="'+val+'" />');

        // Hide Change //
        $('#changeEmail').hide();
    }
});

// Switch to Div //
$(document).delegate('#email', 'blur', function(){

    // Prevent Switch if Input is Empty //
    if ($(this).val() != ''){
        $(this).replaceWith('<div id="email">'+$(this).val()+'</div>');
        $('#changeEmail').show();
    } else {
        $('#changeEmail').hide();
    }
});
//切换到输入//
$('#changemail').bind('click',函数(e){
//如果已输入,则阻止开关//
if($(this.get(0).tagName!=“输入”){
var$target=$('#'+$(this.data('target'));//获取目标元素
var val=$target.text();//获取当前目标值
//交换元素//
$target.替换为('');
//隐藏零钱//
$('#changemail').hide();
}
});
//切换到Div//
$(文档).delegate('#email',blur',function(){
//如果输入为空,则阻止开关//
if($(this.val()!=“”){
$(this.replacetwith(“”+$(this.val()+“”);
$('#changemail').show();
}否则{
$('#changemail').hide();
}
});


我希望这有帮助

您可以使用类似于插件的插件或实现如下自定义解决方案:

HTML

<label for="email">Email:</label>
<div id="email">eugene@gmail.com</div>
<a href="#" id="changeEmail" data-target="email">change</a>
电子邮件:
eugene@gmail.com
JS

// Switch to Input //
$('#changeEmail').bind('click', function(e){

    // Prevent Switch if Already Input //
    if ($(this).get(0).tagName != 'input') {
        var $target = $('#'+$(this).data('target')); // Get Target Element
        var val = $target.text(); // Get Current Target Value

        // Swap Elements //
        $target.replaceWith('<input id="email" type="text" value="'+val+'" />');

        // Hide Change //
        $('#changeEmail').hide();
    }
});

// Switch to Div //
$(document).delegate('#email', 'blur', function(){

    // Prevent Switch if Input is Empty //
    if ($(this).val() != ''){
        $(this).replaceWith('<div id="email">'+$(this).val()+'</div>');
        $('#changeEmail').show();
    } else {
        $('#changeEmail').hide();
    }
});
//切换到输入//
$('#changemail').bind('click',函数(e){
//如果已输入,则阻止开关//
if($(this.get(0).tagName!=“输入”){
var$target=$('#'+$(this.data('target'));//获取目标元素
var val=$target.text();//获取当前目标值
//交换元素//
$target.替换为('');
//隐藏零钱//
$('#changemail').hide();
}
});
//切换到Div//
$(文档).delegate('#email',blur',function(){
//如果输入为空,则阻止开关//
if($(this.val()!=“”){
$(this.replacetwith(“”+$(this.val()+“”);
$('#changemail').show();
}否则{
$('#changemail').hide();
}
});


我希望这有帮助

不幸的是,我还没有找到任何解决方案,这就是我为什么要问的原因。不幸的是,我还没有找到任何解决方案,这就是我为什么要问的原因。我不知道你的html,所以我在编元素。我不知道你的html,所以我在编元素。太好了!但是您能提供一些更改以使输入在默认情况下可用吗?然后在输入一些数据后将其保存为目标元素?非常感谢!它的工作原理,但它如何更好地隐藏更改按钮,直到电子邮件没有输入?再次感谢,但请你说为什么。更改电子邮件没有隐藏在我的例子@RooticalV。当元素使用类时,您的changeEmail锚引用了一个ID;我更新了你的小提琴:太棒了!但是您能提供一些更改以使输入在默认情况下可用吗?然后在输入一些数据后将其保存为目标元素?非常感谢!它的工作原理,但它如何更好地隐藏更改按钮,直到电子邮件没有输入?再次感谢,但请你说为什么。更改电子邮件没有隐藏在我的例子@RooticalV。当元素使用类时,您的changeEmail锚引用了一个ID;我更新了你的小提琴: