博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery操作编辑页面,span与input标签之间的随时转换
阅读量:5305 次
发布时间:2019-06-14

本文共 3748 字,大约阅读时间需要 12 分钟。

当鼠标点击span时,span会根据需要变成input或select标签,光标移开时,又变回span标签来展示编辑后的内容。

HTML代码如下(span里的值是动态添加的,与此无关):

1           
  • 2 3 4
  • 5
  • 6 7 8
  • 9
  • 10 11 12
  • 13
    14
    15
  • 16 联系方式17

    18
  • 19
  • 20 21 22
  • 23
  • 24 25
  • 26
  • 27 28 29 32 33
  • 34
  • 35 36 37
  • 38
  • 39 40 41
  • js代码如下:

    1、input select textarea转span
    1 var switchToSpan=function () { 2             // console.log($(this).attr("id")); 3             var cId=$(this).attr("id");//获取当前点击input的id 4            //console.log($("#"+cId).prop('nodeName').toLowerCase()); 5             var thisTag=$("#"+cId).prop('nodeName').toLowerCase(); 6         var a,b=null; 7         if(thisTag=="input"){ 8             a=$(this).val(); 9              b=switchToInput;10         }11         else if(thisTag=="select"){12              a=$(this).find("option:selected").text();//获取selected的option文本值13              b=switchToSelect;14         }15         else if(thisTag=="textarea"){16             a=$(this).val();17             b=switchToTextarea;18         }19         var $span=$("",{20                     text: a21                 });22             $span.addClass(cId);23             $span.attr("id",cId);24             $(this).replaceWith($span);25             $span.on("click",b);26 };
    2、span转input
    1 var switchToInput=function () { 2             //console.log($(this).attr("id")); 3             var cId=$(this).attr("id");//获取当前点击span的id 4             var $input=$("",{ 5                 val:$(this).text(),     6                 type:"text" 7             }); 8             $input.addClass(cId); 9             $input.attr("id",cId);10             $(this).replaceWith($input);11             $input.on("blur",switchToSpan);//失去焦点时,执行switchToSpan函数12             $input.select();13         };

      3、span转select

    1  var switchToSelect=function () { 2  3             var cId = $(this).attr("id");//获取当前点击input的id 4             var $select = $(""); 5             var arr=[["国有企业","集体企业","私营企业","三资企业"],["人数<20","20≤人数<300","300≤人数<1000","1000≤人数<5000","人数≥5000"]]; 6             var j=null; 7             if(cId=="companyType"){ 8                 //var arr1=new Array("国有企业","集体企业","私营企业","三资企业"); 9                 //console.log(arr1);10                 $select.addClass("midBtn1");11                 j=0;12             }13             else if(cId=="companySize"){14                 j=1;15                 $select.addClass("midBtn1");16             }17             for(var i=0;i
    " +arr[j][i]+"");19 }20 $select.addClass(cId);21 $select.attr("id", cId);22 $(this).replaceWith($select);23 $select.on("blur",switchToSpan);24 }

    4、span转textarea

    1  var switchToTextarea=function () { 2             var cId = $(this).attr("id"); 3             var $textarea=$(""); 4             $textarea.val($(this).text()); 5             $textarea.addClass(cId); 6             $textarea.attr("id",cId); 7             $(this).replaceWith($textarea); 8             $textarea.on("blur",switchToSpan); 9             $textarea.select();10 11         }

    5、给span添加点击事件

    1     $(".spanToInput").on("click",switchToInput);2     $(".spanToSelect").on("click",switchToSelect);3     $(".spanToTextarea").on("click",switchToTextarea);

     

    转载于:https://www.cnblogs.com/mmmzf/p/9264336.html

    你可能感兴趣的文章
    【转】redo与undo
    查看>>
    解决升级系统导致的 curl: (48) An unknown option was passed in to libcurl
    查看>>
    Java Session 介绍;
    查看>>
    spoj TBATTLE 质因数分解+二分
    查看>>
    Django 模型层
    查看>>
    dedecms讲解-arc.listview.class.php分析,列表页展示
    查看>>
    Extjs6 经典版 combo下拉框数据的使用及动态传参
    查看>>
    【NodeJS】http-server.cmd
    查看>>
    研磨JavaScript系列(五):奇妙的对象
    查看>>
    面试题2
    查看>>
    selenium+java iframe定位
    查看>>
    P2P综述
    查看>>
    第五章 如何使用Burp Target
    查看>>
    Sprint阶段测试评分总结
    查看>>
    sqlite3经常使用命令&amp;语法
    查看>>
    linux下编译openjdk8
    查看>>
    【python】--迭代器生成器装饰器
    查看>>
    Pow(x, n)
    查看>>
    安卓当中的线程和每秒刷一次
    查看>>
    每日一库:Modernizr.js,es5-shim.js,es5-safe.js
    查看>>