帝国论坛帝国网站管理系统交流区模板/标签/插件共享交流文本框多值字段,当前页面点击上移、下移、插入、置顶、置底、删除行 【本版专题贴子】  
主题:文本框多值字段,当前页面点击上移、下移、插入、置顶、置底、删除行 [加入收藏夹]   

aisouka
用户头衔:秀才

精华贴   :0
发贴数   :80
经验值   :421
注册时间:2015-10-14
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
文本框多值字段,当前页面点击上移、下移、插入、置顶、置底、删除行
文本框多值字段,当前页面点击上移、下移、插入、置顶、置底、删除行,主要不懂js,勉强凑合能用有大神的话,可以更改下。
1、主要是插入行,不能连续点击插入,只能插入一行后,再新的一行点击插入按钮,不懂js 不知道怎么写ID变动。
有看到的大佬,有时间的可以帮忙改动下,修复下bug有红包奉上。
html代码感谢帝国创始人、郑州瓜牛网络(张总)、函数感谢jiuhecai
第一步:
以当前需要的字段:
字段名:extend
字段标识:数据接口表
字段类型:中型字段
后台增加信息处理函数:extend
后台修改信息处理函数:extend
输入表单显示元素:单行文本框(text)
输入表单替换html代码:
<table>
        <thead id="row_head_extend" style="<?=$ecmsfirstpost==1 || !$r[extend]  ? 'display:none' : '';?>">
                <tr>
                        <td>参数值</td>
                        <td>参数地址</td>
                        <td>&nbsp;</td>
                </tr>
        </thead>
        <tbody id="row_body_extend">
                <?php
                if($r['extend']){
                        $r['extend']=stripSlashes($r['extend']);
                ?>
                        <?php
                        //录入项
                        $j=0;
                        $mvf_record=explode('||||||',$r['extend']);
                        $mvf_count=count($mvf_record);
                        for($i=0;$i<$mvf_count;$i++){
                                $j=$i+1;
                                $mvf_field=explode("::::::",$mvf_record[$i]);
                        ?>
                <tr id="<?=$j?>">
                        <td><input type="text" name="extend_1[]" value="<?=$mvf_field[0]?>" size="15"></td>
                        <td><input type="text" name="extend_2[]" value="<?=$mvf_field[1]?>" size="50"></td>
                        <td><input type="button" onclick="row_prev('<?=$j?>')" value="上移" /></td>
                        <td><input type="button" onclick="row_next('<?=$j?>')" value="下移" /></td>
                        <td><input type="button" onclick="row_insert('<?=$j?>')" value="插入" /></td>
                        <td><input type="button" onclick="row_prepend('<?=$j?>')" value="置顶" /></td>
                        <td><input type="button" onclick="row_append('<?=$j?>')" value="置底" /></td>
                        <td><input type="button" onclick="row_del('<?=$j?>')" value="删除" /></td>
                </tr>
                <?php
                        }
                }
                ?>
        </tbody>
        <tfoot>
                <tr>
                        <td><input type="button" id="add_row_extend" value="增加参数" />&nbsp;&nbsp;参数值:login_key、login_url、pay_key、pay_url、role_key、role_url</td>
                </tr>
        </tfoot>
</table>
<script>
$(function(){
        $('#add_row_extend').click(function(){
                var str = Math.random().toString();
                var id = str.replace('.','_');
                var row_html = '';
                row_html += '<tr id="'+id+'">';
                row_html += '        <td><input type="text" name="extend_1[]" value="" size="15"></td>';
                row_html += '        <td><input type="text" name="extend_2[]" value="" size="50"></td>';
                row_html += '        <td><input onclick="row_prev(\''+id+'\')" type="button" value="上移" /></td>';
                row_html += '        <td><input onclick="row_next(\''+id+'\')" type="button" value="下移" /></td>';
                row_html += '        <td><input onclick="row_insert(\''+id+'\')" type="button" value="插入" /></td>';
                row_html += '        <td><input onclick="row_prepend(\''+id+'\')" type="button" value="置顶" /></td>';
                row_html += '        <td><input onclick="row_append(\''+id+'\')" type="button" value="置底" /></td>';
                row_html += '        <td><input onclick="row_del(\''+id+'\')" type="button" value="删除" /></td>';
                row_html += '</tr>';
                $('#row_body_extend').append(row_html);
                $('#row_head_extend').show();
        })
})
function row_del(id){
        if(!id) return;
        $('#'+id).remove();
}
function row_prev(id){
        if(!id) return;
        $('#'+id).insertBefore($('#'+id).prev());
}
function row_next(id){
        if(!id) return;
        $('#'+id).insertAfter($('#'+id).next());
}
function row_prepend(id){
        if(!id) return;
        $('#'+id).prependTo($('#'+id).parent());
}
function row_append(id){
        if(!id) return;
        $('#'+id).appendTo($('#'+id).parent());
}
function row_insert(id){
        if(!id) return;
         $('#'+id).after('<tr id="'+id+1+'"><td><input type="text" name="extend_1[]" value="" size="15"></td><td><input type="text" name="extend_2[]" value="" size="50"></td><td><input onclick="row_prev(\''+id+1+'\')" type="button" value="上移" /></td><td><input onclick="row_next(\''+id+1+'\')" type="button" value="下移" /></td><td><input onclick="row_insert(\''+id+1+'\')" type="button" value="插入" /></td><td><input onclick="row_prepend(\''+id+1+'\')" type="button" value="置顶" /></td><td><input onclick="appendTo(\''+id+1+'\')" type="button" value="置底" /></td><td><input onclick="row_del(\''+id+1+'\')" type="button" value="删除" /></td></tr>');
}
//append() 方法在被选元素的结尾插入内容。
//prepend() 方法在被选元素的开头插入内容。
//after() 方法在被选元素之后插入内容。
//before() 方法在被选元素之前插入内容。
//insertBefore()上移,insertAfter()下移,prependTo()置顶,appendTo()置底
</script>

第二步:/e/class/userfun.php增加函数
//接口参数
function extend($mid,$f,$isadd,$isq,$value,$cs){
    //参数说明:user_FieldFun:函数名、$mid:系统模型ID、$f:字段名、$isadd:值为1时是增加信息;值为0时是修改信息、$isq:值为0时是后台处理;值为1时是前台处理、$value:字段原内容、$cs:字段附加参数,字段处理函数处设置的参数内容
    $add = $_POST;
    //$f = 'extend';//字段名
    $rvarname = $f.'_1';//字段名
    $count = count($add[$rvarname]);//统计多值字段的数量
    if(empty($count)){
        return '';
    }
    $mvnum = 2;//默认值
    $mvmust = 0;//默认值
    $rexp = '||||||';//分割符号
    $fexp = '::::::';//间隔符号
    $rstr = '';
    $rstrexp = '';
    for($i=0;$i<$count;$i++){
        $fstr = '';
        $fstrexp = '';
        $fstrempty = 0;
        for($j=0;$j<$mvnum;$j++){
            $k = $j+1;
            $fsvarname = $f.'_'.$k;
            $fsval = $add[$fsvarname][$i];//$add写入变量
            $fsval = str_replace($rexp,'',$fsval);
            $fsval = str_replace($fexp,'',$fsval);
            if(CheckValEmpty($fsval)) {
                if($k==$mvmust){
                    break;
                    $fstrempty=1;
                }
            }
            $fstr.=$fstrexp.$fsval;
            $fstrexp = $fexp;
        }
        if(empty($fstr)||$fstrempty){
            continue;
        }
        $rstr.=$rstrexp.$fstr;
        $rstrexp = $rexp;
    }
    return $rstr;
}

上传以下图片:




页游代理:http://www.liehuowan.com/game_agent/ 九猴(9hou.com)网页游戏 邀你做代理,一起赚钱
2020-05-03 23:41:46 已设置保密 顶部 回复 引用 报告 编辑 删除

aisouka
用户头衔:秀才

精华贴   :0
发贴数   :80
经验值   :421
注册时间:2015-10-14
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

具体可以根据实际情况设置多少行,有条件的大佬也可以优化下后面的按钮不用太多的就行,[img][/img]

上传以下图片:




页游代理:http://www.liehuowan.com/game_agent/ 九猴(9hou.com)网页游戏 邀你做代理,一起赚钱
2020-05-03 23:55:14 已设置保密 顶部 回复 引用 报告 编辑 删除

csdn2
用户头衔:探花

精华贴   :0
发贴数   :4552
经验值   :13323
注册时间:2013-11-21
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

看着很强大




2020-05-04 08:10:23 已设置保密 顶部 回复 引用 报告 编辑 删除

aisouka
用户头衔:秀才

精华贴   :0
发贴数   :80
经验值   :421
注册时间:2015-10-14
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

楼上大佬,能修复下bug不 哈,插入这个有bug搞不定
1、需要引用jquery-1.11.1.min.js才可以实现
2、存在的bug插入时候不能连续插入,只能插入一行之后,再次点击(刚才已经插入行的)插入键才行。

[该贴被修改 1 次,最后修改时间 2020-05-04 10:41:22 ]


页游代理:http://www.liehuowan.com/game_agent/ 九猴(9hou.com)网页游戏 邀你做代理,一起赚钱
2020-05-04 10:38:17 已设置保密 顶部 回复 引用 报告 编辑 删除

hanjiuyin
用户头衔:探花

精华贴   :0
发贴数   :2078
经验值   :9204
注册时间:2011-10-19
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

用js直接控制就行,没有必要写自定义函数。



潇风工作室 QQ:656530146 专注帝国模板、插件
http://www.hjy01.com/
2020-05-04 10:39:04 已设置保密 顶部 回复 引用 报告 编辑 删除

aisouka
用户头衔:秀才

精华贴   :0
发贴数   :80
经验值   :421
注册时间:2015-10-14
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

主要看到,大佬的都收费了,就自己凑合弄一个,无奈技术不过关,还求大佬指点。,另外大佬的那个上移、下移的功能多少钱啊?



页游代理:http://www.liehuowan.com/game_agent/ 九猴(9hou.com)网页游戏 邀你做代理,一起赚钱
2020-05-04 10:43:37 已设置保密 顶部 回复 引用 报告 编辑 删除

飞侠
用户头衔:进士

精华贴   :0
发贴数   :1569
经验值   :5934
注册时间:2008-09-25
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

支持



用一颗平常心对待做站
2020-05-05 07:00:57 已设置保密 顶部 回复 引用 报告 编辑 删除

龙心
用户头衔:书生

精华贴   :0
发贴数   :92
经验值   :286
注册时间:2009-01-29
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

不错




2020-05-15 10:11:02 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1