限时优惠活动
亲爱的苦力吧用户,我们为了回馈新老用户一直以来的鼎力支持,即日起(2025-02-06至2025-03-06)凡是购买苦力吧VIP/充值K币的新老用户,都直接可获得买一送一的优惠馈赠。例如:购买一个月的VIP会员可直接获得两个月的VIP会员;充值100K币可直接获得200K币,以此类推!有任何疑问可联系在线客服,感谢各位用户对苦力吧素材的信任与厚爱,我们将一如既往的给大家上新更多优质的素材源码,祝大家开工大吉、工作顺利、心想事成。

jquery支持自定义的时间选择器插件

所属分类: 网页特效-日期时间    2023-08-12 07:35:47

jquery支持自定义的时间选择器插件 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

jquery支持自定义的时间选择器插件(共2个文件)

    • jquery-time-picker.js
    • index.html

使用方法

(function ($) {
  $.fn.timepicker = function (options) {
    if (!$(this).is(":empty")) {
      return this;
    }

    var opts = $.extend({}, options);

    var id = $(this).attr("id");
    var hours = "";
    var minutes = "";

    for (var h = 1; h < 13; h++) {
      var hour = h.toString().padStart(2, "0");
      hours = hours + "<option value='" + hour + "'>" + hour + "</option>";
    }

    for (var m = 0; m < 60; m++) {
      var min = m.toString().padStart(2, "0");
      minutes = minutes + "<option value='" + min + "'>" + min + "</option>";
    }

    $(this).addClass("d-flex align-items-center");
    $(this).append(
      "<select class='form-select me-2 hours-dropdown'>" + hours + "</select>"
    );
    $(this).append(":");
    $(this).append(
      "<select class='form-select ms-2 me-3 minutes-dropdown'>" +
        minutes +
        "</select>"
    );
    $(this).append(
      '<div class="btn-group" role="group" aria-label="Basic radio toggle button group">' +
        '   <input type="radio" class="btn-check" name="' +
        id +
        'Meridian" id="' +
        id +
        'MeridianAM" autocomplete="off" checked>' +
        '   <label class="btn btn-outline-primary" for="' +
        id +
        'MeridianAM">上午</label>' +
        '   <input type="radio" class="btn-check" name="' +
        id +
        'Meridian" id="' +
        id +
        'MeridianPM" autocomplete="off">' +
        '   <label class="btn btn-outline-primary" for="' +
        id +
        'MeridianPM">下午</label>' +
        "</div>"
    );

    var that = this;

    if (opts.onChange) {
      $(this)
        .find(".hours-dropdown")
        .change(function (event) {
          var value = $.fn._getValue(that);
          options.onChange(value);
        });
      $(this)
        .find(".minutes-dropdown")
        .change(function (event) {
          var value = $.fn._getValue(that);
          options.onChange(value);
        });
      $(this)
        .find("#" + id + "MeridianAM")
        .change(function (event) {
          var value = $.fn._getValue(that);
          options.onChange(value);
        });
      $(this)
        .find("#" + id + "MeridianPM")
        .change(function (event) {
          var value = $.fn._getValue(that);
          options.onChange(value);
        });
    }

    if (opts.value) {
      $.fn._setValue(that, opts.value);
    }

    if (opts.disabled) {
      $.fn._setDisabled(this);
    }

    return this;
  };

  $.fn._getValue = function (element) {
    var id = $(element).attr("id");

    var selectedHour = $(element).find(".hours-dropdown")[0].value;
    var selectedMinute = $(element).find(".minutes-dropdown")[0].value;
    var selectedMeridian = $(element).find("#" + id + "MeridianAM")[0].checked
      ? "AM"
      : "PM";
    if (!selectedHour || !selectedMinute) {
      return "";
    }
    return selectedHour + ":" + selectedMinute + " " + selectedMeridian;
  };

  $.fn.getValue = function () {
    return $.fn._getValue(this);
  };

  $.fn._setValue = function (element, value) {
    var id = $(element).attr("id");

    if (!value || value.length == 0) {
      $(element).find(".hours-dropdown")[0].value = null;
      $(element).find(".minutes-dropdown")[0].value = null;
      $(element).find("#" + id + "MeridianAM")[0].checked = true;
      return;
    }
    var a = value.split(":");
    var hour = a[0];
    var b = a[1].split(" ");
    var minute = b[0];
    var meridian = b[1];
    $(element).find(".hours-dropdown")[0].value = hour;
    $(element).find(".minutes-dropdown")[0].value = minute;
    if (meridian == "AM") {
      $(element).find("#" + id + "MeridianAM")[0].checked = true;
    } else {
      $(element).find("#" + id + "MeridianPM")[0].checked = true;
    }
  };

  $.fn.setValue = function (value) {
    $.fn._setValue(this, value);
  };

  $.fn._setDisabled = function (element) {
    var id = $(element).attr("id");

    $(element).find(".hours-dropdown").prop("disabled", true);
    $(element).find(".minutes-dropdown").prop("disabled", true);
    $(element)
      .find("#" + id + "MeridianAM")
      .prop("disabled", true);
    $(element)
      .find("#" + id + "MeridianPM")
      .prop("disabled", true);
  };

  $.fn.setDisabled = function () {
    $.fn._setDisabled(this);
  };

  $.fn.setEnabled = function () {
    var id = $(this).attr("id");

    $(this).find(".hours-dropdown").prop("disabled", false);
    $(this).find(".minutes-dropdown").prop("disabled", false);
    $(this)
      .find("#" + id + "MeridianAM")
      .prop("disabled", false);
    $(this)
      .find("#" + id + "MeridianPM")
      .prop("disabled", false);
  };
})(jQuery);

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
标签: bootstrap
相关资源 / 日期时间

jquery轻量级秒表计时器插件

该插件有两种不同的操作方式,一种是可点击复位归零;另一种为从外部更新倒计时。
  日期时间
 4308  0

jquery页面自定义数字时钟插件

一款响应式的自定义数字时钟,点击可打开侧边栏参数设置,自定义参数:选择风格(白天/晚上)、日期格式、显示方式等。
  日期时间
 7308  0

javascript实现的网站常用的当前日期时间特效

这是一款日历效果的时间效果代码,日期时间信息显示在一个表格方块内,看起来有点像小时候那种古老的日历。
  日期时间
 5404  0

jquery显示当前本地时间模拟时钟插件

jquery显示当前本地时间模拟时钟特效!
  日期时间
 5290  0

评论数(0) 回复有机会获得K币 用户协议

^_^ 还没有人评论,快来抢个沙发!
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论