2010-03-19 64 views
1

我試圖使用jQuery在特定formfield每次用戶點擊顯示一個下拉列表...jQuery的:顯示元素相對於另一個

目前的HTML作爲代表

// Form field to enter the time an event starts 
<div> 
    <label for="eventTime"> Event Time </label> 
    <input type = "text" name="eventTime" id="eventTime" class="time"> 
    </label> 
</div> 

// Form field to enter the time an event finishes 
<div> 
    <label for="eventEnd"> Event Ends</label> 
    <input type = "text" name="eventEnds" id="eventEnds" class="time"> 
    </label> 
</div> 

而且Jquery的看起來像這樣

// Display Time Picker 
$('.time').click(function(){ 
    var thisTime = $(this); 


     var timePicker = '<ul class="timePicker">' 
      timePicker += '<li>10.00am</li>' 
      timePicker += '<li>11.00am</li>' 
      timePicker += '<li>12.00am</li>' 
      timePicker += '</ul>' 

    $('.timePicker').hide().insertAfter(thisTime); 

     //show the menu directly over the placeholder 
     var pos = thisTime.offset(); 

      $(".timePicker").attr({ 
       top: pos.top 
       left: pos.left 
      }); 
      $(".timePicker").show(); 
       }); 

然而,當我點擊一個帶班時間表單字段中,timePicker下拉出現,但它總是出現在相同的位置,而不是NEX t我想要的表單字段。

任何想法?

感謝

回答

1

嘗試將相對位置的父元素和絕對位置的孩子,那麼就沒有必要使用pos.leftpos.top也許0,0的罰款。

+0

是增加相對positoning時包含div,不知道你會做什麼,如果這個工程那裏有兩個timePicker表單字段在相同的包含div?乾杯 – namtax 2010-03-19 13:05:30

1

你認爲是time picker plugin我敢肯定有更多,但它看到一個恥辱,重新發明的東西已經存在

+0

是啊,我已經看了看周圍的一個......我不喜歡,一個是顯示的方式,我只是想其中一個顯示時間的下拉列表 – namtax 2010-03-19 12:51:35

+0

也許這樣的事情http://code.google.com/p/jQuery的timepicker/ – mcgrailm 2010-03-19 13:26:17

+0

其實這是一個更好的http://pttimeselect.sourceforge.net/example/index.html – mcgrailm 2010-03-19 13:27:46

相關問題