2012-07-31 207 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(); 
     }) 
    } 
    } 
    ... 
}