নির্বাচনের পরে বুটস্ট্র্যাপ ডেটপিকার লুকান


97

তারিখ নির্বাচনের পরে আমি কীভাবে ক্যালেন্ডারটি আড়াল করব? আমি ব্যবহার করতে পারি একটি নির্দিষ্ট ফাংশন আছে? আমার কোড নীচে:

$('#dp1').datepicker({
    format: 'mm-dd-yyyy',
    startDate: '-15d',
    autoclose: true,
    endDate: '+0d' // there's no convenient "right now" notation yet
});

কোন সাহায্য প্রশংসা করা হবে।


6
কেন এটি লাইব্রেরির ডিফল্ট আচরণ নয়?
ক্রীড়া

উত্তর:


158

changedate()তারিখটি একসাথে পরিবর্তনের পরে নির্বাচনের পরে datepicker('hide')লুকানোর জন্য ট্র্যাক রাখতে আপনি ইভেন্টটি ব্যবহার করতে পারেন datepicker:

$('yourpickerid').on('changeDate', function(ev){
    $(this).datepicker('hide');
});

ডেমো

হালনাগাদ

এই সঙ্গে বাগ ছিল autoclose: true। এই বাগটি সর্বশেষ মাস্টারে স্থির হয়েছিল। দেখুন COMMIT। থেকে সর্বশেষ কোড পানGitHub


7
আমি অতিরিক্ত ভিউ মোডটি 'দিন' রয়েছে কিনা তা যাচাই করার সুপারিশ করব: if (ev.viewMode === 'days') {$(this).datepicker('hide');}যেহেতু আপনি সম্ভবত এক মাস বা এক বছর বাছাই করার পরে ডেটপিকারটি আড়াল করতে চান না t
টুরান

4
দেখে মনে হচ্ছে অটোক্লোজটি ডিফল্ট হিসাবে মিথ্যাতে সেট করা আছে ... দুর্দান্ত $(".date").datepicker({... autoclose: true, ... });কাজ করে !!!
দানি

46

যদি কারও কাছে এটির কোনও সহায়তা হয় তবে বুটস্ট্র্যাপের ডেটপিকারের সংস্করণ ২.০ গ্রহণযোগ্য উত্তরের সাথে আর কাজ করে না।

আমার এটি কীভাবে কাজ করে তা এখানে দেখুন:

$('yourpickerid').datepicker({
    format: 'dd/mm/yyyy',
}).on('changeDate', function(e){
    $(this).datepicker('hide');
});

Http://bootstrap-datepicker.readthedocs.org/en/latest/events.html#changedate দেখুন


সংস্করণ 2 আছে? আমি v1.6.4 কে গিথুব-এর সর্বশেষ প্রকাশ হিসাবে দেখছি
গ্যারিপ করুন

ইভেন্টটি ম্যানুয়ালি হ্যান্ডেল না করে অটোক্লোজ (@ সেলিমের উত্তর বা আপডেট হওয়া গৃহীত উত্তর দেখুন) ব্যবহার করুন। তারিখটি পরিবর্তিত হওয়ার পরে আপনি যদি ডেটপিকারকে আড়াল করেন তবে তারিখে টাইপ করার চেষ্টা করা অনাকাঙ্ক্ষিত আচরণের কারণ হতে পারে।
Lopsided


3

যদি আপনি বিশ্বব্যাপী সাধারণভাবে ক্যালেন্ডারের আচরণকে ওভাররাইড করতে দেখছেন তবে ডেটপিকার ফাংশনটি সম্পাদনা করার চেষ্টা করুন (আমার উদাহরণে এটি 82 লাইনের ছিল),

থেকে

    this.autoclose = false;

প্রতি

    this.autoclose = true;

আমার জন্য কাজ করেছিলাম যেমন আমার সমস্ত ক্যালেন্ডার দৃষ্টান্ত একই রকম হয়।


4
জেএস লাইব্রেরিতে ডিফল্ট বৈশিষ্ট্য পরিবর্তন করার দরকার নেই। আপনি যখন এটিকে কল করবেন তখন আপনি এটিকে বস্তুর সম্পত্তি হিসাবে ফাংশনে স্থান দিতে পারেন। উদাহরণ: $ ('# ডোব') date তারিখপিকার ({ফর্ম্যাট: 'ডিডি / মিমি / ইয়ুআই', স্বতঃক্র্লোজ: সত্য});
জিশান

3

এই লিনিগুলির মাধ্যমে ইনপুট উপাদানগুলির জন্য গোপন ইভেন্টটি ব্লক করে সমস্যাটি থামানো যেতে পারে:

var your_options = { ... };
$('.datetimepicker').datetimepicker(your_options).on('hide', function (e) {
    e.preventDefault();
    e.stopPropagation();
});


ধন্যবাদ বন্ধু ! আমি পাগল হয়ে যাচ্ছিলাম কারণ তারিখ নির্বাচনের পরে ইনপুটটি লুকানো হয়েছিল এবং এটি আমার সমস্যার সমাধান করে। চিয়ার্স!
স্পেসবাইকার

3
  1. খালি খুলুন bootstrap-datepicker.js
  2. অনুসন্ধান : var defaults = $.fn.datepicker.defaults
  3. সেট autoclose: true

আপনার প্রকল্পটি সংরক্ষণ করুন এবং রিফ্রেশ করুন এবং এটি করা উচিত।



1

তারিখ নির্বাচন করার সময় ডেটটাইম পিকার বন্ধ করুন (সময়ের সাথে সময়সীমার পিকচার শো তারিখ)

$('.datepicker').datepicker({
    autoclose: true,
    closeOnDateSelect: true
}); 

1
$('yourpickerid').datetimepicker({
           pickTime: false
}).on('changeDate', function (e) {
           $(this).datetimepicker('hide');
});

0

আমি একটি নিখুঁত সমাধান পেয়েছি:

$('#Date_of_Birth').datepicker().on('changeDate', function (e) {
    if(e.viewMode === 'days')
        $(this).blur();
});

0
$('.datepicker').datepicker({
    autoclose: true
}); 

এই প্রশ্নের অন্য উত্তরটি আপনার মতো ঠিক। ওপিতে autoclose: trueতাদের উদাহরণ কোডটিতে এটি রয়েছে ।
93196.93

0

আমি ডেটটাইম পিকার এবং ফর্ম্যাটটিকে 'ডিডি / এমএম / ওয়াইওয়াইওয়াই' তে পরিবর্তন করেছি

$("id").datetimepicker({
    format: 'DD/MM/YYYY',
}).on('changeDate', function() {
    $('.datepicker').hide();
});

0

কমপক্ষে ২.২.৩ সংস্করণে যা আমি ব্যবহার করছি, আপনাকে অবশ্যই এর autoCloseপরিবর্তে ব্যবহার করতে হবে autoclose। লেটার কেসের বিষয়টি গুরুত্বপূর্ণ।


0

আপনি উত্স কোড, বুটস্ট্র্যাপ-ডেটপিকার.জেএস পরিবর্তন করতে পারেন । this.hide();নে পছন্দ মত যুক্ত করুন

  if (this.viewMode !== 0) {
    this.date = new Date(this.viewDate);
    this.element.trigger({
        type: 'changeDate',
        date: this.date,
        viewMode: DPGlobal.modes[this.viewMode].clsName
    });
    this.hide();//here
 }

0

আমি যদি ফর্ম্যাটটি লিখি এমনকি এখনও ঘড়ির সাথে সমস্যা দেখাচ্ছি : 'YYYY-MM-DD' ,

আমি সেট করতে pickTime: falseএবং পরিবর্তনের পরে>> লুকিয়ে রাখি আমি ফোকাস- > শোতে থাকি ha

$('#VBS_RequiredDeliveryDate').datetimepicker({
  format: 'YYYY-MM-DD',
  pickTime: false
});

$('#VBS_RequiredDeliveryDate').on('change', function(){
    $('.datepicker').hide();
});

$('#VBS_RequiredDeliveryDate').on('focus', function(){
    $('.datepicker').show();
});


0

ডেটটাইমপিকারের জন্য এটি ব্যবহার করুন, এটি দুর্দান্ত কাজ করে

$('#Date').data("DateTimePicker").hide();

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.