2016-01-29 1 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.