繁体   English   中英

使用退格键删除日期或删除

[英]Delete Date using backspace or delete

我已经使用jQuery datepicker为多个输入字段创建了多个日期选择。

现在的问题是我想删除任何日期形式的光标位置 日期选择器示例

外部链接到jQuery UI

<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">

多日期选择输入字段

<input type="text" class="dates_opted dates_opted_1">
<br><br>
<input type="text" class="dates_opted dates_opted_2">    

jQuery和jQuery ui Js文件CDN链接

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> 

js代码

    <script>
    function cleanArray(actual) {
      var newArray = new Array();
      for (var i = 0; i < actual.length; i++) {
        if (actual[i]) {
          newArray.push(actual[i]);
        }
      }
      return newArray;
    }
    jQuery(document).ready(function($) {
      $('.dates_opted').each(function(index){
          var dates=[];
       $(this).datepicker({
      dateFormat: "yy-mm-dd",
      onSelect: function(){
       dates=cleanArray(dates);
        dates.push($(this).val());
        //console.log(dates);
        $(this).val(dates);


      },showAnim :'slide',
    minDate: 0

    }).keyup(function(e) {
        if(e.keyCode == 8 || e.keyCode == 46) {
          var datesString=$(this).val().split(",");
           dates=[];
          for(var i=0 ; i<datesString.length-1;i++){

            dates.push(datesString[i]);
          }
          $(this).focus();
          $(this).blur();
          $(this).val(dates);


        }
    });
         });
    });
</script>

Here is jsfiddle

function(e)
{
   if(e.keyCode == 8 || e.keyCode == 46)
      {
         var datesString=$(this).val().split(",");
         dates=[];

获取光标位置并找到您需要删除的日期索引

      cix=$(this).selectionStart;
      ix=Math.floor(cix/9);

运行所有数组并跳过新数组中的值

      for(var i=0 ; i<datesString.length;i++)
         {
             if(i!=ix)
               {
                  dates.push(datesString[i]);
               }
         }
      $(this).focus();
      $(this).blur();
      $(this).val(dates);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM