2014-05-08 108 views
0

我有一個動態的填充表,從數據庫的行數很高。 我已經設置了一個JSFiddle here彈出的動態定位

在驅動程序行中,我彈出一個窗口,它會告訴我哪些驅動程序當前可用,並通過單擊它們可以將驅動程序分配給相應的預訂。

我想直接在已被點擊的行下面彈出驅動程序div,因爲它現在是驅動程序div在固定位置彈出,我需要一種方法來動態更新div的位置以匹配點擊的行。

我試過.position();.index();但我無法設法使它工作。

回答

0

使用.offset()

$('#select-driver-list').offset(elem.offset()); 

這將驅動器盒的頂部設置的鏈接(ELEM)的頂部。你可以用它玩添加ELEM到箱頂的高度,把它顯示出來

if (elem.length) { 
    e.preventDefault(); 
    var o = elem.offset(); 
    o.top += elem.height(); 
    $('#select-driver-list').toggle(100).offset(o); 
} 
+0

哪裏我應該添加偏移屬性嗎?我是jQuery的新手,我一直試圖解決這個問題8個小時,我仍然無法修復它。 – Verde

+0

你是我的朋友的救星,我希望我能給你一杯啤酒。 – Verde

+0

從來沒有獲得啤酒的味道。伏特加沒事。 ;-)只要記住upvote答案:-) –

0
只有

更新邏輯,

$(document).ready(function() { 
    $(".select-driver").each(function(e){ 
     $(this).on("click",function(){ 
      $(this).parent("div").siblings("div").toggle(); 
     }); 
    }); 
}); 

在做工精細:jsfiddle