2016-01-29 57 views
0

我的問題如下。我不能用jquery序列化

<div id="idtab-page-0"> 
.... 
</div> 

我HTLM代碼可以在這裏上傳HTML code => 3檔

  • formulaire.html.txt代碼完整
  • selector.html.txt序列包含的元素代碼無風格以獲得更好的閱讀效果
  • DOM.png將DOM結構顯示到瀏覽器中

我試圖

var oSerialData = $('#idTab').serialize(); => "" 
oSerialData = $('#idFormulaire #idtab-page-0').serialize(); => "" 

var test = $('#idFormulaire').find('#idtab-page-0').serialize(); => "" 
var serial1 =$("#idFormulaire :input").serialize(); => "cboxClosed=2&pickerDateFin=&Comment=&pickerDateDeb=" 
serial1 =$("div").serialize(); => "" 
serial1 =$("idFormulaire :checked").serialize(); => "" 
serial1 =$("form").serialize(); => "cboxClosed=2&pickerDateFin=&Comment=&pickerDateDeb=" 

serial1 =$("#idTab").children()結果是 result

歡迎任何幫助

回答

0

一個漫長的探索後,我決定建立自己的序列化功能,如下所示:

(function($) 
{ $.fn.serializeFormulaire = function(toReturn) 
    { //var toReturn = {}; 
     var els = $(this).find(':input').get(); 

     $.each (els, function(i, val) 
     { if (this.type !=="button") 
       { toReturn[this.name] = this.value; 
        if (this.type === "radio") 
        { if (!$("input[name='" + [this.name] + "']:checked").val()) { toReturn[this.name] ="NULL"; } 
         else { toReturn[this.name] = $("input[name='" + [this.name] + "']:checked").val();} 
        } 
        else if (this.type === "checkbox" && $(this).prop("checked") === false) 
        { //alert("Checkbox is unchecked."); 
         toReturn[this.name] = ""; 
        } 
       } 
     }); 
     //return toReturn; 
    }; 
})(jQuery); 

要序列化表單,請輸入以下內容:

$("#FormName").serializeFormulaire(oSerialData); 

我不需要toReturn變量返回serializeFormulaire因爲我通過在匿名函數toReturn這是在我的例子oSerialData變量。