首页 > 解决方案 > 如何找出jQuery timepicker 的id 和s 值?

问题描述

我正在使用 timepicker 来设置一系列事件的开始和结束时间,所以每个 timepicker 看起来像这样,其中 $dateid 是一个唯一变量。

<input type='text' class='editable' id='StartTime_$dateid' name='StartTime_$dateid' value='".$row['StartTime']."' readonly />

当时间选择器改变时,我会触发这样的事件

$("ul [id^='StartTime_']").timepicker({ 
   timeFormat: 'h:mm p',
   interval: 15,
   minTime: '5:00am',
   maxTime: '10:00pm',
   startTime: '5:00',
   dynamic: false,
   dropdown: true,
   scrollbar: true,
   change: function( selected ) {
      saveTime(id, selected);
   }
});

这将执行所需的保存功能

function saveTime(id,selected){
  console.log('saveTime fired id '+ id + ' v '+ selected); 
}

我遇到的问题是获取用户更改值时需要自动保存的 ID 和值。

我要么得到“未定义”,要么像这样得到一些相当长的时间表示

saveTime id undefined v Sun Dec 31 1899 05:15:00 GMT-0500(东部标准时间)

这里的值应该是 5:15 AM,这是用户在下拉菜单中看到的。如果我换出 id 并选择 this.id 并且 this.value 也会在控制台日志中 返回undefined 。

在 timepicker 文档中看不到太多来解释如何解决这个问题

标签: jquerytimepicker

解决方案


您可以$(this)在 change 函数中使用变量来获取元素,然后您可以使用$(this).id. 希望这可以帮助


推荐阅读