2014-01-21 3 views
-1

knockout.i의 새로운 기능입니다. 값을 기준으로 편집 버튼을 클릭하면 드롭 다운을 선택해야합니다. 여기 동적 값을 기준으로 목록을 선택하는 방법

내 전체 코드는 ... 내가 녹음을 편집하기 위해 노력하고 있습니다 ... 여기

여기

내 내 HTML 코드입니다 JS 코드 ...

기능 항목 (ID, 이름) { this.id = ko.observable (id);

this.name1 = ko.observable(name); 

}

CompanyViewModel 함수() {

VAR 자체 =이; var Sort = "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의 뷰 모델 = 새로운 CompanyViewModel(); ko.applyBindings (viewModel);

+0

이 문제가있는 모든 진행 상황이 있습니까? 내 솔루션을 구현하려 했습니까? 추가 질문이 있으면 알려주십시오. –

+0

일부 코드가 코드 영역 밖에 있으므로 HTML 코드가 누락되어 코드를 읽기가 어렵습니다. 문제 해결을 도우려는 사람들을 위해 고려해주십시오. 조금 더 노력해 주시면 감사하겠습니다. –

+0

내 HTML 코드가 완성되었습니다 ... 한 기능 만이 아웃소싱입니다. 내게 어떤 노력을 기대했는지 말해 주시겠습니까? – user3217843

답변

0

optionsValue 매개 변수를 입력 했으므로 sectoredid 값으로 설정해야합니다. 즉,

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>   

희망 하시겠습니까?

P. 설명을 위해 optionsValue을 제공하지 않으면 knockout은 실제 개체를 값으로 사용합니다. 이 경우 원래 코드 인 self.sectorid(self.sector[1])이 예상대로 작동했을 것입니다.

+0

도움을 주셔서 감사합니다 ...하지만 여전히 작동하지 않습니다 ... 및 그 self.sectorid (self.sector1 [1] .id); – user3217843

+0

위의 수정 된 답변에서 바인딩 구문 수정을 참조하십시오. –

+0

다시 답장을 보내 주셔서 감사합니다.하지만 그 또한 시도 ... 아무런 효과 .. – user3217843

관련 문제