serializeArray不适用于selectbox

时间:2018-05-08 10:51:45

标签: jquery serializearray

我正在尝试将表单数据转换为json,并在单击相应的复选框时读取已修改的字段的值。这适用于文本字段,但不适用于选择框。任何人都可以看看小提琴并帮助我阅读" Person"中的选择框(Headshot)值。标签。

$('#getDataBtn').click (function() {
     var data = $('#userForm').serializeArray();
     var pfId = 1234;
     var person=[];
    //  $.each(data, function(i, field){
    //     person[field.name] = field.value;            
    //  });
    //  personarray['Person']=person;
    //  console.log(JSON.stringify(personarray));
     var personObj = {};
     $.each(data, function(i, field){
        personObj = {};
        console.log(field.name);
        personObj['table name']= "Person";
        personObj['unique id']= "0";
        personObj['profile id']= pfId;
        personObj[field.name] = field.value;
        person.push(personObj)
    });
    personarray['Person']=person;
    console.log(JSON.stringify(personarray));  

});

https://jsfiddle.net/ycf6Ltad/5/

1 个答案:

答案 0 :(得分:0)

serializeArray()将仅使用分配了name的控件。由于下拉列表没有指定任何名称,因此未列出。

要更正,请指定名称:

<select class="form-control" id="sel1" name="sel1" disabled>
  <option>Yes</option>
  <option>No</option>
</select>

请参阅此working fiddle