Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Баг при clone() полей с datepicker (https://javascript.ru/forum/jquery/68238-bag-pri-clone-polejj-s-datepicker.html)

sergeantpepper 04.04.2017 00:05

Баг при clone() полей с datepicker
 
Добрый день!

Есть html:
<fieldset id="driver-info">							
								<div class="fld">
									<label>Дата рождения</label>
									<input type="date" name="date_birth[]" value="" placeholder="дд.мм.гггг" data-min-year="1920" data-max-year="2006"/>
								</div>
						</fieldset>


Есть JS:
var $driver_info=$('#driver-info').clone();
$('#driver-info').after($driver_info);
$driver_info.removeAttr('id').addClass('driver-info');
$driver_info.find('input[type="date"],input[type="text"].date').removeAttr('id').datepicker({
		inline: true,
	        language: 'ru',
	        changeYear: true,
	        changeMonth: true
});


Проблема в том, что не удается реинициализировать поля с datepicker.
Пробовал по-разному: и через refresh, и через destroy.

Гуглил. Однако пока все в молоко.
Кто-нибудь встречался с этим вопросом?

sergeantpepper 04.04.2017 00:11

Решение:

Руками удалить класс hasDatepicker перед инициализацией:
$driver_info.find('input[type="date"],input[type="text"].date').each(function(index,input){
			$(input).removeAttr('id').removeClass('hasDatepicker').datepicker({
				inline: true,
		        language: 'ru',
		        changeYear: true,
		        changeMonth: true,
		        minDate: ($(input).attr('data-min-year')?new Date($(input).attr('data-min-year'),0,1):null),
		        maxDate: ($(input).attr('data-max-year')?new Date($(input).attr('data-max-year'),0,1):null),
		        yearRange: ($(input).attr('data-min-year')?($(input).attr('data-min-year')+':'+($(input).attr('data-min-year')?$(input).attr('data-min-year'):'c+10')):('c-10:'+$(input).attr('data-min-year')?$(input).attr('data-min-year'):'c+10')),
		        defaultDate: ($(input).attr('data-default-date')?$(input).attr('data-default-date'):null)
			});	
		});

рони 04.04.2017 00:18

Цитата:

Сообщение от sergeantpepper
Есть JS:

js рабочий... в чём проблема?


Часовой пояс GMT +3, время: 21:27.