首页 > 解决方案 > 仅在选中时将时间插入字段,然后单击

问题描述

时间仅插入第一个字段https://jsfiddle.net/cjy28u1o/。我想根据所选字段插入时间。

$('#time').click(function(){
  var time = new Date();                
  $('#time-holder').val(time.toTimeString());  
});

标签: javascript

解决方案


您可以将焦点元素存储.focusin()在变量中,然后在单击时设置它的值。在这种情况下,也使用属性而不是id更有意义:

$(function(){
  var $focused;
  $('.time-holder').focusin(function(){
    $focused = $(this);
  });
  $('#time').click(function(){
    var time = new Date();
    if($focused != undefined)
      $focused.val(time.toTimeString()); 
    else
      alert('Not focused any element');
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" value="" class="time-holder">
<input type="text" value="" class="time-holder">
<input type="text" value="" class="time-holder">

<input type="button" value="time" name="timer" id="time">


推荐阅读