温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

编辑、修改当前行

发布时间:2020-09-22 07:09:16 来源:网络 阅读:423 作者:027ryan 栏目:开发技术

在日常开发中难免会对一个对话框进行编辑、修改方面的操作,示例代码如下:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title></title>

</head>

<body>

  <input type="button"  />

  <table border="1">

    <thead></thead>

    <tbody>

        <tr>

            <td>11</td>

            <td>22</td>

            <td>33</td>

            <td onclick="GetPrev(this);">编辑</td>

        </tr>

        <!--

        1、弹出框(默认情况下弹出框应该是存在的,默认只是处于隐藏状态)

        2、取出表格数据

        3、将数据填充到弹出框

        -->

        <tr>

            <td>111</td>

            <td>222</td>

            <td>333</td>

            <td onclick="GetPrev(this);">编辑</td>

        </tr>

        <tr>

            <td>1111</td>

            <td>2222</td>

            <td>3333</td>

            <td onclick="GetPrev(this);">编辑</td>

        </tr>

    </tbody>

</table>

<style>

    .modal{

        position:fixed;

        left:50%;

        top:50%;

        width: 400px;

        height: 300px;

        background-color:#ddd;

        margin-left: -200px; /* -200表示往左移动200像素,如果是200则表示向右边移动200像素 */

        margin-top: -150px;  /*-150表示向上移动150像素*/


    }

    .hide{


        display: none;

    }

</style>

   <div id ="dialog" class="modal hide">

       <form action="" method="get">

           <p>主机名:<input type="text" id="hostname" /></p>

           <p>IP地址:<input type="text" id="ip" /></p>

           <p>端口号:<input type="text" id="port" /></p>

           <input type="submit"  SubmitForm()" value="提交">

           <input type="button"  value="取消">

       </form>

   </div>

    <script src="jquery-3.1.0.min.js" type="text/javascript"></script>

    <script type="text/javascript">

        /*

        编辑当前行,其中函数GetPrev(ths)中的ths是形式参数,这里可以用arg或者a代替

        */

        function GetPrev(ths){

            /*

            <td>1</td>

            <td>2</td>

            <td>3</td>

            */

            //$(ths).prevAll() 获取所有的数据

            //循环所有数据,取出每个(行)数据的内容

            //实例参考列表a和字典d的操作

            //var a = [11,22,33,44];

            //$.each(a,function(item){

                //each的功能就是用来做循环的

            //   console.log(a[item]);

            // });

            //var d = {'k1':'v1','k2':'v2'};

            //$.each(d, function (key, vale) {

            //   console.log(key,vale)

            //});

            // 定义一个空列表list

             var list = [];

            $.each($(ths).prevAll(), function (i) {

                 //获取是所有元素的索引

                //console.log(i)

                //如果想获取所有的数据则可以

                //console.log($(ths).prevAll()[i]);

                //获取所有的内容除去样式标签,比如<p></p>等,则可以

                console.log($($(ths).prevAll()[i]).text());

                //上面一句等价于下面两行

                var item = $(ths).prevAll()[i];

                var text = $(item).text();

                list.push(text);

            });

                //console.log(list);

                var new_list = list.reverse();

                console.log(new_list);

            // val表示input标签里输入的值

            // $('#hostname').val(new_list[0]);

            // console.log($('#hostname').val());获取input标签里hostname的value值,

            // 这里默认value没有写,是通过input输入获取的,所以val()的括号中没有写入值,就表示获取当前的值,

            // 如果写了值,比如val('test')则表示用括号里的值(test)修改原来的值

               $('#ip').val(new_list[1]);

               $('#port').val(new_list[2]);

               $('#hostname').val(new_list[1]);

               $('#dialog').removeClass('hide');



        }


           function Cancel(){

               $("#dialog").addClass('hide')


           }

           function Toggle(){

               // 引用hide样式

               $("#dialog").toggleClass('hide');


           }

           function SubmitForm(){

               //获取form表单中的input的值

               //判断值是否为空

               var ret = true;

               //遍历所有的input,只要有空值就将ret重置为false

               //$('input[type="text"]') input中查找type=text

               $(':text').each(function(){

                   //$(this) ==要循环的每一个元素,即每一个input中text元素通过循环获取

                   var value = $(this).val();

                   if (value.trim().length == 0){

                       $(this).css('border-color','red');

                       ret = false;

                   }else{

                       $(this).css('border-color','green');

                   }


               });

           }


    </script>

</body>

</html>


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI