У вас много структурных проблем, что делает документ беспорядочным;это усложняет поиск и устранение неисправностей.
Прежде всего, избавьтесь от этих многочисленных $(function() {
блоков - соберите ваш javascript в один блок внизу страницы.CSS в голове, javascript включает в самом конце тела, а затем скрипт страницы.
Ваша непосредственная проблема вызывается, потому что, когда вы делаете это:
$('#date' + num).datepick({
dateFormat: 'yyyy-mm-dd',
yearRange: '1800:2053'
});
$('#datep' + num).datepick({
dateFormat: 'yyyy-mm-dd',
yearRange: '1800:2053'
});
var html = '<div id="input'+num+'" style="margin-bottom:4px;" class="alternate">Name '+num+': <input type="text" name="the_name'+num+'" id="name'+num+'" class="textbox" /> From :<input type="text" id="date'+num+'" name="from'+num+'" class="textbox" /> To :<input type="text" id="datep'+num+'" name="to'+num+'" class="textbox" /> Photo: <input type="file" id="photo'+num+'" name="photo'+num+'" class="textbox" /></div>';
... положитьПомимо грязной длинной строки HTML (используйте объекты DOM для добавления содержимого на страницу), проблема заключается в том, что вы вызываете метод datepick
для элемента, который еще не существует на странице.Большая строка создания HTML должна идти ДО , с которой вы пытаетесь взаимодействовать.Таким образом:
var html = '<div id="input'+num+'" style="margin-bottom:4px;" class="alternate">Name '+num+': <input type="text" name="the_name'+num+'" id="name'+num+'" class="textbox" /> From :<input type="text" id="date'+num+'" name="from'+num+'" class="textbox" /> To :<input type="text" id="datep'+num+'" name="to'+num+'" class="textbox" /> Photo: <input type="file" id="photo'+num+'" name="photo'+num+'" class="textbox" /></div>';
$('#container').append('<div id="input'+num+'" style="margin-bottom:4px;" class="alternate">'+html+'</div>');
$('#date' + num).datepick({
dateFormat: 'yyyy-mm-dd',
yearRange: '1800:2053'
});
$('#datep' + num).datepick({
dateFormat: 'yyyy-mm-dd',
yearRange: '1800:2053'
});
Теперь немного домашней работы:
document.createElement - используйте это вместо больших беспорядочных строк HTML
Позиция сценария - Статья связана с производительностью, но ее организация поможет ВАШЕЙ производительности как разработчику
Divitis - У вас есть DIV, выходящие из Wazoo, и это довольно короткостр.Используйте все преимущества CSS
Избегайте встроенных стилей - у вас есть прикрепленные таблицы стилей ... используйте em!
Используйте документ Jquery.ready - эти $(function() {
вещи ... гадость!