2014-03-29 4 views
0

Я попытался добавить и удалить строку с выбором даты в таблице. По умолчанию программа выбора даты не работает. Но я нажал кнопку добавления строки, она сработала. Я не мог найти решение.Дата выборщика не работает

Пожалуйста, обратитесь к месту расположения скрипта.

<http://jsfiddle.net/MJGV2/> 

ответ

2

Вашего DatePicker не работает в первый раз обусловленно не intilized DatePicker в кулаке времени

здесь новая скрипка .. http://jsfiddle.net/MJGV2/2/

// intilize datepicker at document ready or load.. 
$(document).ready(function(){ 

     setdatepicker(); 

}); 

$("input[type='button'].AddRow").live('click', 
function() { 
    var index = $(this).closest('tr').index(); 
    if (index > 0) { 
     $(this).closest('tr').remove(); 

    } else { 


     var $tr = $(this).closest('tr').clone(true); 
     var $input = $tr.find('input.startdatum'); 
     var index = $('input#counter').val(); 
     $('#test').val('Delete'); 
     var id = 'datepicker' + index; 
     index++; 

     $('input#counter').val(index); 
     $input.attr('id', id).data('index', index); 
     console.log(index); 
     $tr.prependTo($(this).closest('table')); 
     setdatepicker(); 

    } 

}); 


function setdatepicker(){ 

    $('.startdatum').each(function() { 
      $(this).datepicker('destroy'); 
      $(this).datepicker({ 
       dateFormat: 'mm-dd-yy' 
      }); 
     }); 
} 
1

Вы должны включить DatePicker на DOMready,

Вы можете сделать что-то вроде этого.

Fiddle

$("input[type='button'].AddRow").live('click', 
function() { 
var index = $(this).closest('tr').index(); 
if (index > 0) { 
    $(this).closest('tr').remove(); 

} else { 


    var $tr = $(this).closest('tr').clone(true); 
    var $input = $tr.find('input.startdatum'); 
    var index = $('input#counter').val(); 
    $('#test').val('Delete'); 
    var id = 'datepicker' + index; 
    index++; 

    $('input#counter').val(index); 
    $input.attr('id', id).data('index', index); 
    console.log(index); 
    $tr.prependTo($(this).closest('table')); 
    enable_dp(); 

} 

}); 
enable_dp(); 
function enable_dp() 
{ 

    $('.startdatum').each(function() { 
     $(this).datepicker('destroy'); 
     $(this).datepicker({ 
      dateFormat: 'mm-dd-yy' 
     }); 
    }); 
} 
Смежные вопросы