zoukankan      html  css  js  c++  java
  • jquery插件loadForm.js 编辑页表单默认数据加载

    类似于easyui form load 只不过独立了出来,简易版,支持input、textarea、select、radio、checkbox 表单元素的数据默认加载;

    使用方法:

    $(function(){
         $('#formname').loadForm(1,'edit.php');
    })

    两个参数,第一个是数据id,就是数据在数据库中的记录数或主键

    传递到服务器数据为

    edit.php?ids=1

    默认为GET方式 也可自己修改为POST方式

    (function($) {
        /**
         * setValue of the input textarea select fields
         */
        function _load(data,form){
            for(var name in data){
                var val = data[name];
                var rr = _checkField(name, val,form);
                if (!rr.length){
                    $('input[name="'+name+'"]', form).val(val);
                    $('textarea[name="'+name+'"]', form).val(val);
                    $('select[name="'+name+'"]', form).val(val);
                }
            }
        }
        /**
         * check the checkbox and radio fields
         */
        function _checkField(name, val,form){
            var rr = $('input[name="'+name+'"][type=radio], input[name="'+name+'"][type=checkbox]', form);
            $.fn.prop ? rr.prop('checked',false) : rr.attr('checked',false);
            rr.each(function(){
                var f = $(this);
                if(String(val).indexOf(',')==-1){
                    if(f.val()==String(val)){
                        $.fn.prop?f.prop("checked",true):f.attr("checked",true);
                    }
                    }else{
                    temparr = String(val).split(',');
                    if($.inArray(f.val(),temparr) != -1){
                        $.fn.prop?f.prop("checked",true):f.attr("checked",true);
                    }
                }
            });
            return rr;
        }
        $.fn.loadForm = function(ids,url){
            var form = this;
            var pattern = /.+\.(aspx|php|html)$/i;
            var isAddress =    pattern.test(url);
            if(isAddress){
                $.ajax({
                    url: url,
                    type:"GET",
                    data: "ids="+ids,
                    dataType: 'json',
                    cache:false,
                    success: function(data){
                        _load(data,form);
                    }
                });
            }
        }
    })(jQuery);

    也可以把这方法作为扩展添加入 form插件中,其实他本意就是为了扩展jquery form 而来,第一次写插件,功能相对简单,我会努力的,O(∩_∩)O~

  • 相关阅读:
    2019-3-24
    模板
    试试Markdown编辑器
    Codeforces Round #529 (Div. 3) D. Circular Dance
    Codeforces Round #529 (Div. 3) C. Powers Of Two(数学????)
    poj 2566"Bound Found"(尺取法)
    poj 3273"Monthly Expense"(二分搜索+最小化最大值)
    二分搜索
    Codeforces Round #518 (Div. 2) B LCM
    2018.12.21 浪在ACM 集训队第十次测试赛
  • 原文地址:https://www.cnblogs.com/v10258/p/2918839.html
Copyright © 2011-2022 走看看