1. 程式人生 > 實用技巧 >雙擊編輯表格欄位

雙擊編輯表格欄位

html 程式碼

<tr data-id="{$vo.id}" data-table_name="article">
    <td>{$vo.id}</td>
    <td>{$vo.title}</td>
    <td>{$vo.cate_name}</td>
    <td>{$vo.browse_num}</td>
    <td class="common_edit_num" data-parse="fake_study_num">
        {$vo.fake_study_num}
    </td>
</tr>

js程式碼

    $(".common_edit_num").on('dblclick',function(){
        var val = $(this).html();
        if(val == 0){
            val = '';
        }
        
        if(!($(this).has('input').length > 0)){
            var str = '<input type="digit" maxlength="99" class="edit_num" value="' + val + '"/>';
            $(this).html(str);
            $(this).find('.edit_num').focus();
        }
    });

    $(document).on('blur','input.edit_num',function(){
        let parse = $(this).parent().data('parse');
        var id = $(this).parent().parent().data('id');
        var table_name = $(this).parent().parent().data('table_name');
        var val = $(this).val();

        $.ajax({
            type:'POST',
            url :'/admin.php/Common/common_edit_num',
            data:{  
                'table_name'    :   table_name,                  
                'parse'         :   parse,                  
                'id'            :   id,
                'val'           :   val
            },
            dataType:'json',
            success:function(data){
                if(data.errno == 0){
                    layer.msg(data.errdesc);

                    setTimeout(function(){
                        window.location.reload();
                    },500);
                } else {
                    layer.msg(data.errdesc);
                }
            },
            error:function(data){
                layer.msg("網路錯誤");
            }
        });
        //$(this).parent().html(val);
    });


php tp 程式碼

    public function common_edit_num(){
        $id      = (int) $_POST['id'];
        $parse    = trim($_POST['parse']);
        $set_val = (int) $_POST['val'];
        $table   = trim($_POST['table_name']);

        if (!$id || !$parse) {
            $this->json->err('缺少引數');
        }

        $model_table = M($table);
        if (!$model_table->find()) {
            $this->json->err('缺少正確的表格資訊');
        }

        $flag = $model_table->where(array('id' => $id))->find();
        if (!$flag) {
            $this->json->err('沒有該選項');
        }

        $data[$parse] = $set_val;
        $save_flag   = $model_table->where(array('id' => $id))->save($data);
        
        if ($save_flag || $save_flag === 0) {
            $this->json->ok('更新成功');
        } else {
            $this->json->err('編輯失敗');
        }
    }