2016-01-05 32 views
0

有一個簡短的Webix表單,我試圖強調哪些值已更改的字段,但我堅持這一點。onChange事件影響到整個表單

這裏是我的代碼:

webix.ui({ 
     view:"form", 
     width: 250, 
     elements: [ 
     { view:"text", label:'Phone', labelPosition: "top", name:"phone", value: "" }, 
     { view:"text", label:'Email', labelPosition: "top", name:"email", value:"" }, 
     ], 
     on:{ 
      onChange: function(newv, oldv){   
      webix.html.addCss(this.getNode(), "new_v");   
      } 
     } 
    }); 

的片段:http://webix.com/snippet/b47894fa

正如你所看到的,onChange事件影響到各個領域,無論哪個人有新的價值觀。有沒有辦法來解決這個問題?

回答

0

將事件添加到每個文本而不是表單。

webix.ui({ 
    view:"form", 
    width: 250, 
    elements: [ 
    { view:"text", label:'Phone', labelPosition: "top", name:"phone", value: "", 
     on: 
     { 
      onChange: function(newv, oldv){   
      webix.html.addCss(this.getNode(), "new_v");   
     } 
     } 
    }, 
    { view:"text", label:'Email', labelPosition: "top", name:"email", value:"" , 
     on: 
     { 
      onChange: function(newv, oldv){   
      webix.html.addCss(this.getNode(), "new_v");   
     } 
     } 
    }, 
    ] 
}); 
0

您可以通過使用this.$eventSource

onChange: function(newv, oldv){   
    var source = this.$eventSource; 
    webix.html.addCss(source.getNode(), "new_v");   
    } 
訪問onChange事件的源