Javascript 在嵌套对象敲除js上设置选定项

Javascript 在嵌套对象敲除js上设置选定项,javascript,knockout-mapping-plugin,knockout-3.0,Javascript,Knockout Mapping Plugin,Knockout 3.0,我有一个复杂的对象,我正在尝试设置 选择性运输 属性,我将其手动添加到映射中。代码正确地填充了dropdownlist,但我不知道如何正确地设置SelectedTransportation。我尝试在映射过程中和通过循环映射之后设置它,但所有尝试都失败了。看起来这应该很容易,但我找不到解决办法 var模型={“LoadCarriers”:[ { “Id”:1, “IsDispatched”:错误, “IsPrimary”:错误, “RCNotes”:空, “CarrierId”:4, “承运人”:

我有一个复杂的对象,我正在尝试设置

选择性运输

属性,我将其手动添加到映射中。代码正确地填充了dropdownlist,但我不知道如何正确地设置SelectedTransportation。我尝试在映射过程中和通过循环映射之后设置它,但所有尝试都失败了。看起来这应该很容易,但我找不到解决办法

var模型={“LoadCarriers”:[
{
“Id”:1,
“IsDispatched”:错误,
“IsPrimary”:错误,
“RCNotes”:空,
“CarrierId”:4,
“承运人”:{
“Id”:4,
“名称”:“西蔡斯”,
“MCNumber”:“EPZEPFEEGJAJ”,
“点编号”:“AJSCEXFTFJ”,
“InternetTruckStopCACCI”:“DJOGRBQ”,
“电话”:“0773283820”,
“汇款电话”:空,
“备用电话”:“4428290470”,
“传真”:空,
“主要地址”:{
“短地址”:“Toledo,IN”,
“地址1”:“李街”,
“地址2”:“apt 131”,
“城市”:“托莱多”,
“国家”:“在”,
“PostalCode”:“07950”,
“国家”:“美国”
},
“汇款地址”:{
“短地址”:“密苏里州福基瓦里纳”,
“地址1”:“曼彻斯特路”,
“地址2”:“地址”,
“城市”:“富基瓦里纳”,
“状态”:“MO”,
“PostalCode”:“23343”,
“国家”:“美国”
},
“电子邮件地址”:“杰森。price14@gmail.com",
“覆盖范围”:空,
“CanLoad”:false,
“保险编号”:“RIQERAIAJBMP”,
“保险到期日”:“\/日期(1442978115587)\/”,
“附加保险”:空,
“ProNumber”:“07643”,
“URL”:”http://www.west-chase.com",
“帐户ID”:1
},
“调度员”:“鲍勃·麦吉尔”,
“DriverId”:空,
“LoadDriver”:{
“Id”:1,
“姓名”:“鲍比·皮特曼”,
“电话”:“8950121068”,
“移动”:空,
“MT”:错误,
“拖拉机”:“OQRNBP”,
“拖车”:“QTZP”,
“地点”:“李街”,
“TansportationSize”:“9584248965673544192”,
“托盘”:空,
“IsDispatched”:错误,
“TransportationId”:7,
“运输”:{
“名称”:“平板车或厢式车”,
“Id”:7
},
“运输清单”:[
{
“名称”:“平面”,
“Id”:1
},
{
“名称”:“货车或冷藏车”,
“Id”:2
},
{
“名称”:“轨道”,
“Id”:3
},
{
“名称”:“自动”,
“Id”:4
},
{
“名称”:“双下降”,
“Id”:5
},
{
“名称”:“带防水油布的平板,”,
“Id”:6
},
{
“名称”:“平板车或厢式车”,
“Id”:7
},
{
“名称”:“平板车、厢式货车或冷藏车”,
“Id”:8
},
{
“名称”:“带侧面的平板”,
“Id”:9
},
{
“名称”:“料斗底部”,
“身份证”:10
},
{
“名称”:“热门人物”,
“身份证”:11
},
{
“姓名”:“矮小子”,
“身份证”:12
},
{
“名称”:“Maxi”,
“身份证”:13
},
{
“名称”:“仅限电源”,
“身份证”:14
},
{
“名称”:“冷藏车带托盘交换”,
“身份证”:15
},
{
“名称”:“可拆卸鹅颈管”,
“身份证”:16
},
{
“名称”:“阶梯甲板”,
“身份证”:17
},
{
“名称”:“油轮”,
“身份证”:18
},
{
“名称”:“窗帘车”,
“身份证”:19
},
{
“名称”:“平板危险品”,
“身份证”:20
},
{
“名称”:“冷藏危险品”,
“Id”:21
},
{
“名称”:“危险货车”,
“身份证”:22
},
{
“名称”:“通风车”,
“身份证”:23
},
{
“名称”:“带托盘交换的货车”,
“身份证”:24
},
{
“名称”:“B列”,
“身份证”:25
},
{
“名称”:“容器”,
“身份证”:26
},
{
“名称”:“双平面”,
“身份证”:27
},
{
“名称”:“平板或阶梯甲板”,
“身份证”:28
},
{
“名称”:“空气”,
“身份证”:29
},
{
“名称”:“海洋”,
“身份证”:30
},
{
“名称”:“步行地板”,
“身份证”:31
},
{
“名称”:“Landoll平板车”,
“Id”:32
},
{
“名称”:“Conestoga”,
“身份证”:33
},
{
“名称”:“装船”,
“身份证”:34
var loadDriverModel = function (data) {
    var viewModel = ko.mapping.fromJS(data);
    viewModel.SelectedTransportation = ko.observable();
    return viewModel;
};
var loadDriverModel = function (data) {
ko.mapping.fromJS(data, {}, this);
this.SelectedTransportation = ko.observable();}
var loadDriverModel = function (data) {
var self = this;
ko.mapping.fromJS(data, {}, this);
this.SelectedTransportation = ko.computed(function () {
            return ko.utils.arrayFirst(self.TransportationList(), function (item) { return item.Id() === self.TransportationId() });
        }, self);
    };