Mds92 / MD.BootstrapPersianDateTimePicker

Bootstrap Persian/Gregorian Date Time Picker
347 stars 105 forks source link

خطا در اجرای توابع #282

Closed Kargosha20 closed 1 year ago

Kargosha20 commented 1 year ago

سلام و خسته نباشید بابت تولید این ابزار ارزشمند بخش انتخاب تاریخ و پروپرتی ها به درستی کار میکند ولی با اجرای توابع مشکل دارم و خطا برمیگردد

مثلا با اجرای کدزیر $('#...').MdsPersianDateTimePicker('clearDate'); خطای زیر: $(...).MdsPersianDateTimePicker is not a function at با ایجاد نمونه آبجکت هم به صورت زیر const dtp1Instance = new mds.MdsPersianDateTimePicker(document.getElementById('...'), { targetTextSelector: '#...' }); dtp1Instance.getDate() مقدار undefined برمیگردد و اتفاقی نمیفته اصولا وقتی بخواهیم به یک DatePicker که از قبل تعریف شده است دسترسی داشته باشیم و تابعی روی آن اجرا کنیم روش صحیح چگونه است؟

در ضمن من از جی کوئری و بوت استرپ 5.1 در پروژه استفاده میکنم.

ممنون میشم راهنمایی کنید.

Mds92 commented 1 year ago

سلام، وقت بخیر دقت کنید در ورژن جدید جی کوئری استفاده ای ندارد و باید از جاوا اسکریپت پیور استفاده کنید مثال:

const dtp1Instance = new mds.MdsPersianDateTimePicker(document.getElementById('dtp1'), {
  targetTextSelector: '[data-name="dtp1-text"]',
  targetDateSelector: '[data-name="dtp1-date"]',
});
dtp1Instance.show(); // فراخوانی متد show
Kargosha20 commented 1 year ago

سلام، وقت بخیر دقت کنید در ورژن جدید جی کوئری استفاده ای ندارد و باید از جاوا اسکریپت پیور استفاده کنید مثال:

const dtp1Instance = new mds.MdsPersianDateTimePicker(document.getElementById('dtp1'), {
  targetTextSelector: '[data-name="dtp1-text"]',
  targetDateSelector: '[data-name="dtp1-date"]',
});
dtp1Instance.show(); // فراخوانی متد show

مشکل اصلی من برای انتخاب یک DatePicker هست که قبلا ایجاد شده و در صفحه هستش.چون نیاز دارم به صورت داینامیک بازه انتخاب DatePicker تاریخ پایان رو با توجه به مقدار انتخاب شده کاربر در DatePicker تاریخ شروع تنظیم کنم. و نمیخوام متغیر عمومی تعریف کنم برای هر DatePicker . همون قبلی رو انتخاب کنم و مثلا disableBeforeToday را تغییر بدم.در ورژن های قبل به صورت زیر با جی کوئری قابل اجرا بود: $('#...').MdsPersianDateTimePicker('clearDate'); با تشکر از پاسخ شما

Mds92 commented 1 year ago

اینکه محلی باشه یا عمومی فرقی نداره که ! اما در هر حال میتونید از متد استاتیک getInstance استفاده کنید

const jalaliObj = mds.MdsPersianDateTimePicker.getInstance(document.getELementById('IdOfElement'));
Kargosha20 commented 1 year ago

اینکه محلی باشه یا عمومی فرقی نداره که ! اما در هر حال میتونید از متد استاتیک getInstance استفاده کنید

const jalaliObj = mds.MdsPersianDateTimePicker.getInstance(document.getELementById('IdOfElement'));

تشکر سپاسگزارم مشکل با همین متد حل شد.