2011-02-01 36 views
0

這是我試圖用此代碼完成的主旨。 我想選擇一個HOUR,這個代碼是做的,它只是選擇4個項目。但我的主要問題是,如果有人選擇晚上11點半或午夜12點,我的.NEXT()代碼不起作用......是否有更好的解決方案?jQuery UI打開對話框運行功能

$('.startTime222').change(function() { 
    adjustTime = $(".startTime option:selected").next().next().next().next().val(); 
}); 

<select name="startTime" class="startTime222 required" id="startTime2" > 
    <option value="00:00:00">12:00am</option> 
    <option value="00:15:00">12:15am</option> 
    <option value="00:30:00">12:30am</option> 
    <option value="00:45:00">12:45am</option> 
    <option value="01:00:00">1:00am</option> 
    <option value="01:15:00">1:15am</option> 
    <option value="01:30:00">1:30am</option> 
    <option value="01:45:00">1:45am</option> 
    ... 
</select> 

回答

1

將建議放在心上,將調整時間作爲一個單獨的屬性存儲在選項上。這樣您仍然可以訪問所選時間以及調整時間。由於現在可以訪問兩個值,因此您不必再向前移動四個孩子。

$('.startTime222').change(function() { 
    adjustTime = $(".startTime option:selected").attr("data-adjust"); 
}); 

<select name="startTime" class="startTime222 required" id="startTime2" > 
    <option value="00:00:00" data-adjust="01:00:00">12:00am</option> 
    <option value="00:15:00" data-adjust="01:15:00">12:15am</option> 
    <option value="00:30:00" data-adjust="01:30:00">12:30am</option> 
    <option value="00:45:00" data-adjust="01:45:00">12:45am</option> 
    <option value="01:00:00" data-adjust="02:00:00">1:00am</option> 
    <option value="01:15:00" data-adjust="02:15:00">1:15am</option> 
    <option value="01:30:00" data-adjust="02:30:00">1:30am</option> 
    <option value="01:45:00" data-adjust="02:45:00">1:45am</option> 
    ... 
</select> 
+0

如果您依賴與開始時間相匹配的文本的值屬性並且僅使用默認結束的調整,您可以爲每個選項添加data-adjust =「01:00:00」屬性時間。不要在文本中使用.val(),然後使用.attr('date-adjust')。 – 2011-02-01 22:23:04