jQuery UI打开对话框运行功能

时间:2011-02-01 22:08:05

标签: jquery time jquery-selectors

这是我尝试使用此代码完成的要点。 我想提前一个小时,这个代码就是这么做的,它只选择了4个项目。但我的主要问题是,如果有人选择晚上11:30或午夜12点,我的.NEXT()代码不起作用......有更好的解决方案吗?

$('.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 个答案:

答案 0 :(得分: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>