• 动态设置form表单的元素值


    因为经常用到的功能,所以我想到封装一个函数,用起来更方便快捷。。

    先来看效果图如下:

    var data = {a:'aaaa', b:'2', 'c':[1,2,4]}

    这就相当于 ajax 返回的json, 元素是通过 name 来查找的, 其基本形式: name : value  

    checkbox 比较特殊,它是多个并存,所以要 "选中" 它得通过值来查找, 值对上了,就把它"选中"

    当然, 还有清除数据的情况:

    var data = {a:'', b:'', 'c':''}

    像这样,设置为空值,就可以了。

    说到这里,是不是很好玩呀?

    ok,下面就是基于 jqery 写的代码:

    <form id="form1" >

    <input type="text" name="a" /> <br/> <input type="radio" name="b" value="1" checked />1 <input type="radio" name="b" value="2" />2 <input type="radio" name="b" value="3" />3 <br/> <input type="checkbox" name="c[]" value="1" />a <input type="checkbox" name="c[]" value="2" />b <input type="checkbox" name="c[]" value="3"/>c <input type="checkbox" name="c[]" value="4"/>d
    </form> <script type="text/javascrip"> //编辑表单 $.fn.formEdit = function(data){ //data = {"text":"value", "checkbox":[1,2,4], "radio":"10"};

    if(typeof data == "undefined"){ this.reset(); return this; } return this.each(function(){var input, name; for(var i = 0; i < this.length; i++){ input = this.elements[i];
            //修正checkbox
           if(input.type == "checkbox"){
                name = input.name.replace(/(.+)[]$/, "$1");
            }else{
                name = input.name;
            }
        if(typeof data[name] == "undefined") continue;
            switch(input.type){
                case "checkbox":                if(data[name] == ""){
                        input.checked = false;
                    }else{
                        //数组查找元素
                        if(data[name].indexOf(input.value) > -1){
                            input.checked = true;
                        }else{
                            input.checked = false;
                        }
                    } }
    break; case "radio": if(data[name] == ""){ input.checked = false; }else if(input.value == data[name]){ input.checked = true; } break; default: input.value = data[name]; } } }) }; data = { "a":"张三", "b":[1,3,4], "c":"2", }; $('#form1').formEdit(data); </script>
  • 相关阅读:
    SA 的参数
    superobject中 JavaToDelphiDateTime的使用
    关于Linux下进程间使用共享内存和信号量通信的时的编译问题
    Linux匿名管道与命名管道
    C++复数四则运算的实现
    C++类编程(一)const的使用
    读书会思考与学期总结
    xenomai安装
    Xenomai 安装准备工作
    Xenomai
  • 原文地址:https://www.cnblogs.com/zbseoag/p/3494909.html
Copyright © 2020-2023  润新知