2012-07-31 99 views
0

我建立一个web应用程序,我期待到使用淘汰赛JS的UI转换。我是淘汰赛中的一名总决赛,所以请客气一点!下钻在淘汰赛JS

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

有没有办法来复制基因敲除这种行为?

+0

http://whathaveyoutried.com。或者,你有没有淘汰赛的代码版本?或者,尝试教程:http://learn.knockoutjs.com/。 – Tyrsius 2012-07-31 04:38:42

+0

是的,我确实有非淘汰版本的代码。不过,我想通过删除所有的PHP来清理代码。我已经完成了所有的教程。他们真棒!所以基本上我的问题是如何获得选定员工的ID,以便我可以深入了解他们。我做了更多的阅读,但还没有找到答案。 – 2012-07-31 13:33:02

+0

内森,我问这个问题的原因不是为了给你一个难过的时间(好吧,也许最后一个是)。这是因为用这种有限的细节来回答你的问题是非常困难的。 “选择”是什么意思?你的结果框是什么样的?你的员工班级或列表是什么样的?当你没有足够描述你的问题来理解你想要的东西时,谁能帮助你? – Tyrsius 2012-07-31 16:04:40

回答

1

处理在淘汰赛阿贾克斯钻取的方式/ jQuery是使用淘汰赛单击处理。这允许您然后拉取任何属性或项目本身,然后在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(); 
     }) 
    } 
    } 
    ... 
}