1. 程式人生 > >將後臺JSON資料填充Form表單

將後臺JSON資料填充Form表單

$.fn.populateForm = function(data){
    return this.each(function(){
        var formElem, name;
        if(data == null){this.reset(); return; }
        for(var i = 0; i < this.length; i++){  
            formElem = this.elements[i];
            //checkbox的name可能是name[]陣列形式
            name = (formElem.type == "checkbox"
)? formElem.name.replace(/(.+)\[\]$/, "$1") : formElem.name; if(data[name] == undefined) continue; switch(formElem.type){ case "checkbox": if(data[name] == ""){ formElem.checked = false; }else{ //陣列查詢元素
if(data[name].indexOf(formElem.value) > -1){ formElem.checked = true; }else{ formElem.checked = false; } } break; case
"radio": if(data[name] == ""){ formElem.checked = false; }else if(formElem.value == data[name]){ formElem.checked = true; } break; case "button": break; default: formElem.value = data[name]; } } }); };

呼叫方式:$(“#formId”).populateForm(data);