0

我正在构建一个 Web 应用程序,并希望将 UI 转换为使用 Knockout JS。我是淘汰赛的菜鸟,所以请善待!

通常我会加载一个员工列表(使用 PHP),然后如果选择了一个员工,我会使用 JQuery 找到该员工的 ID,然后对我的后端进行 AJAX 调用,填写结果框并将其向下滑动。

有没有办法在 Knockout 中复制这种行为?

4

1 回答 1

1

在敲除/jquery 中处理 ajax 向下钻取的方法是使用敲除点击处理程序。这允许您然后拉任何属性或项目本身,然后在 jquery 中处理 ajax。下面是我的代码示例。

在 html 文件中:

...
<div class="empListName" data-bind="text: fullName(), click: $root.showEmp">
</div>
....

在js文件中:

function MainScreenViewModel() {
  // Data
  var self = this;
  self.employees = ko.observableArray([]);
  ...

  // Functions
  self.showEmp = function(data, event){
    var id = data.empId();
    var checkA = $(event.target).parent().find('.empListNameX').first();
    var expand = $(event.target).parent().next();
    if (checkA.hasClass('open')){ //Close it
        checkA.removeClass('open').addClass('closed');
        expand.slideUp();
    }else{
        $.get('/employee/getempinfo/'+id, function(info){
            checkA.addClass('open').removeClass('closed');
            expand.html(info).slideDown();
        })
    }
  }
  ...
}
于 2012-07-31T14:16:20.983 回答