如何在选择标记中将JSON对象存储为选项值?

时间:2018-09-28 10:04:42

标签: javascript jquery html

我正尝试通过使用以下代码

将JSON对象附加到选择标签以供将来参考
          $.each(actualData, function (key, value) {

                                      var valueToAppend = [];
                                      var vehicleId = value._id['$oid'];
                                      var availableSeats = value.NumberOfSeats;

                                      var item = {};
                                          item["VehicleId"] = vehicleId;
                                          item["AvailableSeats"] = availableSeats;

                                          valueToAppend.push(item);
       $('#vehicle_'+guid).append($('<option>', {value: '' + valueToAppend + '', text: '' + value.VehicleNumber + ''}));
                });

它在浏览器中附加值,例如“ value =“ [object Object]”。

我希望它应该像{VehicleId:“ 36ae8c855677879c88”,AvailableSeats:“ 60”}一样追加。我希望它应该存储ID和座位数。请帮忙!!!

2 个答案:

答案 0 :(得分:1)

您可以将对象存储为HTML元素的值。因此,您必须将json字符串存储为值

 $('#vehicle_'+guid).append($('<option>', {value: '{VehicleId:' + valueToAppend.item.VehicleId+',AvailableSeats:'+valueToAppend.item.AvailableSeats+ '}', text:value.VehicleNumber}));

答案 1 :(得分:1)

尝试一下。我正在将您的对象转换为JSON字符串

$('#vehicle_'+guid)
         .append($("<option></option>")
                    .attr("value",JSON.stringify(valueToAppend))
                    .text(value.VehicleNumber));