2016-08-09 10 views
1

My-Code istWarum jquery serialize() kann benutzerdefinierte Attribute nicht analysieren?

$("#section-form").submit(function (e) { 
 
     e.preventDefault(); 
 
     var get_data = JSON.stringify($('#common-element-form').serializeArray()); 
 
     console.log(get_data); 
 
     var common_element_data = JSON.parse(get_data); 
 
     $(common_element_data).each(function (idx, val) { 
 
      console.log(common_element_data); 
 
     }); 
 

 
    });
<form id="common-element-form"> 
 

 
       <div class="form-group input select" id="campus-select-parent-div"> 
 
        <label for="campus-type" class="col-sm-3 control-label text-right">Campus Type</label> 
 

 
        <div id="container-campus-select" class="col-sm-9"> 
 

 
        <select class="form-control" name="campus-select" id="campus-select"><option value="">Select</option><option value="1">Collectorate Balika Biddya Niketan</option><option value="27">qwe</option></select></div> 
 
       </div><br><br><br> 
 

 
       <div class="form-group input select"> 
 
        <label for="shift-select" class="col-sm-3 control-label text-right">Shift Type</label> 
 

 
        <div id="container-shift-select" class="col-sm-9 "> 
 

 
         <select name="shift-select" id="shift-select" class="form-control"> 
 
         <option value="">Select</option><option value="10">Day</option><option value="29">Night</option></select> 
 
        </div> 
 
       </div><br><br> 
 
       <div class="form-group input select"> 
 
        <label for="medium-select" class="col-sm-3 control-label text-right">Medium Type</label> 
 

 
        <div id="container-medium-select" class="col-sm-9 "><input class="form-control" id="medium-select" type="text" medium-element-id="16" value="700"></div> 
 
       </div> 
 
      </form>

Aber es

Uncaught Error: Syntax error, unrecognized expression: campus-select=1&shift-select=10

zeigt, das heißt, es den Eingang

<input class="form-control" id="medium-select" type="text" medium-element-id="16" value="700"> 

jeder Vorschlag nicht analysieren kann ??

Antwort

1

Versuchen Sie, diese

$(document).ready(function() { 
     $("#section-form").submit(function(e) { 
     var get_data = $("#common-element-form").serializeArray(); 
     $.each(get_data, function (index, elem) { 
      alert("name: " + elem.name) 
      alert("value: " + elem.value) 
      alert($('[name='+ elem.name +']').data("medium-element-id")) 
     }); 
     e.preventDefault(); 
     }); 
    }); 

Sie können nicht in der Lage, die benutzerdefinierte Attributwert von SerializeArray() zu bekommen. Stattdessen versuchen einige Alternativen wie

var data_arr=$('input').map(function(){ return $(this).data('medium-element-id');}).get(); 
console.log(data_arr); 

Und auch Ihre ändern mittel Element- ID-Attribut als Datenattribut

+0

Ihr Eingabefeld für Mediumauswahl hat kein Namensattribut. das ist das eigentliche Problem –

+0

Ich habe das behoben. Aber jetzt Problem SerializeArray() kann nicht benutzerdefinierte Attribute analysieren. @ Preethi Mano – Amran

+0

Ich brauche den Wert von ** Medium-Element-ID ** -Attribut. Aber SerializeArray() produziert es nicht :(@ Preethi Mano – Amran