2014-09-04 3 views
-1

나는 knockoutJS를 사용하여 입력을 지우고 재설정하고 필드를 선택하려고합니다. 아래는 어떻게 작동하는지 간단히 간략하게 편집 한 스 니펫입니다.입력을 지우거나 재설정하는 방법은 무엇입니까?

자바 스크립트 코드

view = (function() 
{ 
    var self = this; 
    self.anItem = ko.observable(new AnItem()); 
    ko.applyBindings(self) 

    self.addItem = function() 
    { 
     self.somewhere.push(this); 
     self.anItem = new AnItem(); /////this doesn't clear the form 
    } 
})(); 

function AnItem() 
{ 
    this.Name= ""; 
    this.Type= 1 
} 

html로 코드

<tfoot data-bind="with: anItem"> 
    <tr> 
     <td><input type="text" data-bind="value= Name" /></td> 
     <td><select data-bind="options: pretendThisIsPopulated, optionsValue:'Value', optionsText:'Text', value:Type" /></td> 
     <td><a href="#" data-bind="click: addItem">add</a></td> 
    </tr> 

</tfoot> 
+0

프로젝트에 jQuery를 추가 할 수 있습니까? jQuery를 사용하면 스냅 일 수 있습니다 – ControlAltDel

답변

1
self.anItem(new AnItem()); //should say instead 
+1

답변에 설명을 추가하십시오 – Huangism

+0

속성을 설정하는 대신 인수로 항목을 설정하십시오. 관측 가능을 설정하는 적절한 방법입니다 – vin

+0

답변을 설명과 함께 편집 할 수 있습니다 – Huangism

0

이 같은 사람들을 지울 수 있습니다.

편집

view = (function() 
{ 
    var self = this; 

    var AnItem = function (name,type) 
    { 
     var $this = this; 
     this.Name = ko.observable(name | ""); 
     this.Type = ko.observable(type | 1); 
    }; 

    self.anItem = ko.observable(new AnItem("Name",1)); 
    ko.applyBindings(self) 

    self.addItem = function() 
    { 
     self.somewhere.push(this); 
     self.anItem = new AnItem("",1); 
    }; 

})(); 

사용 self.addItem(); 당신이 원하는 데이터를 삭제합니다.

관련 문제