2015-10-22 3 views
1

Название говорит все.Как срабатывает событие наблюдения Kendo, наблюдаемое из javascript?

У меня установлено this kendo observable example, так что, когда имя будет изменено, фамилия будет изменена в соответствии с ним. Однако пример не работает, если вы изменили имя в javascript (см. Код для нажатия на кнопку регистрации).

Спасибо за любую помощь. !!

ответ

0

inding в случае изменения модели должны исправить вещи для вас

$(document).ready(function() { 
    var viewModel = kendo.observable({ 
     firstName: "John", 
     lastName: "Doe", 
     genders: ["Male", "Female"], 
     gender: "Male", 
     agreed: false, 
     confirmed: false, 
     register: function(e) { 
      this.set("firstName", "bobbyyyyy!!!"); 
      e.preventDefault(); 

      this.set("confirmed", true); 
     }, 
     startOver: function() { 
      this.set("confirmed", false); 
      this.set("agreed", false); 
      this.set("gender", "Male"); 
      this.set("firstName", "John"); 
      this.set("lastName", "Doe"); 
     }, 

     firstNameChangeEvent:function(e) { 

     switch(e.field){ 
      case "firstName": 
      this.set("lastName", this.get("firstName"));     
      break; 
     } 
     } 
    }); 

    viewModel.bind("change", viewModel.firstNameChangeEvent); 

    kendo.bind($("#example"), viewModel); 
}); 
+0

Спасибо, я использовал это. – RayLoveless

1

firstNameChangeEvent не уволят, если Firstname изменяется от кода. Лучший способ:

viewModel.bind("change", function(e) { 
    if(e.field == "firstName") { 
     this.set("lastName", this.get("firstName")); 
    } 
}); 
+0

Это тоже работает. – RayLoveless