【问题标题】:How to select the list based on its dynamic value如何根据动态值选择列表
【发布时间】:2014-02-10 13:50:09
【问题描述】:

我是淘汰赛的新手。我希望当我根据值单击编辑按钮时,应选择下拉菜单。

这是我的完整代码...我正在尝试编辑记录...

这是我的 HTML 代码

这是我的 JS 代码...

功能项(id, name) { this.id = ko.observable(id);

    this.name1 = ko.observable(name);

}

函数 CompanyViewModel() {

var self = this; var 排序 = "desc";

    self.id = ko.observable("");
    self.name = ko.observable().extend

({ 要求:真 }); self.bloombergcode = ko.observable().extend({ required: true });

    self.Id = ko.observable();

    self.sector1 = [new item(1, "Banking"), new item(2, "Non-Banking")];

    self.country = ko.observableArray([]);

    self.sectorid = ko.observable().extend({ required: true });

    self.isincode = ko.observable();
enter code here
    self.address = ko.observable();

    this.validationModel = ko.validatedObservable({
        name: self.name,
        bloombergcode: self.bloombergcode,
        sectorid: self.sectorid

    });



    //        self.items = ko.observableArray([]);
    var company =
{
    id: self.id,
    name: self.name,
    bloombergcode: self.bloombergcode,
    sectorid: self.sectorid,
    isincode: self.isincode,
    sector1: self.sector1,
    address: self.address
};

    self.company = ko.observable();
    self.companies = ko.observableArray();


    $.ajax({
        url: '@Url.Action("CompanyId", "Company")',
        cache: false,
        type: 'GET',
        contentType: 'application/json; charset=utf-8',
        data: {},
        success: function (data) {

            //self.companies(data);
            self.company(data); 

            self.id(data.id);

            self.name(data.name);

            self.sectorid = ko.observable(new item(data.sectorid, ""));

            self.isincode(data.isincode);

            self.address(data.address);

            self.sectorid(self.sector1[1].id);

           // self.sectorid(self.sector1[1]);


            self.bloombergcode(data.bloombergcode)
        }
    });

}

var viewModel=new CompanyViewModel(); ko.applyBindings(viewModel);

【问题讨论】:

  • 这个问题有什么进展吗?您是否尝试实施我的解决方案?如果您还有其他问题,请告诉我。
  • 您的 HTML 代码丢失了,而且您的代码真的很难阅读,因为有些代码超出了代码区域。请为我们这些试图帮助您解决问题的人考虑。多一点努力将不胜感激。
  • 我的 Html 代码已经完成了...只有一个功能在外面。请告诉我您期望我付出什么样的努力...?
  • 请有人帮我...

标签: javascript asp.net css asp.net-mvc-4 knockout.js


【解决方案1】:

由于您提供了optionsValue 参数,您需要将sectored 设置为id 值。换句话说:

self.sectorid(self.sector[1].id());

另外,您的绑定声明不正确。您在 optionsValue 参数上缺少 id 周围的引号。如:

<select id="sector" data-bind="options:sector1 , validationElement: sectorid, valueUpdate: 'afterkeydown', optionsValue:'id', optionsCaption: '........Select........', value: $root.sectorid, optionsText: 'name1' "></select>        

希望有帮助!

附:为了澄清,不提供optionsValue,敲除将使用实际对象作为值。在这种情况下,您最初的代码 self.sectorid(self.sector[1]) 会按预期工作。

【讨论】:

  • 感谢您的帮助...但它仍然无法正常工作...及其 self.sectorid(self.sector1[1].id);
  • 请参阅上面已编辑答案中对绑定声明的更正。
  • 我在回答中发现了一个问题。我错过了id observable 的执行。看看更新的答案是否不适合你。
  • 如果仍然无法解决问题,您可以使用 JS 代码和 HTML 的当前状态更新您的帖子吗?据我所知,它应该可以工作,但我想看看你的代码,看看我是否能发现任何错误。
猜你喜欢
  • 2022-06-20
  • 2019-07-25
  • 1970-01-01
  • 2019-10-11
  • 1970-01-01
  • 2013-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多