Я использую PHP-скрипт для создания некоторого HTML, который включает javascript (DatePicker из jQuery UI).jQuery UI Выбор даты в AJAX Ответ
Сценарий PHP вызывается с главной страницы с помощью jQuery/AJAX. Все мои HTML делает без проблем, но я получаю ошибку консоли, которая говорит:
Uncaught TypeError:. $ (...) DatePicker не является функцией
Я явно делаю что-то неправильно, но не так много эксперт по Javascript. Код работает нормально, если я вызываю new-fields.php напрямую, но ломается, когда получаю его через jQuery. Цените любую помощь!
main.html:
<script type="text/javascript">
jQuery('input[name="location"]').click(function(){
var data = {location : jQuery(this).val(), department : $('input[name="department"]:checked').val()};
jQuery.ajax({
url: "/new-fields.php",
type:'POST',
data: data,
dataType: 'text',
success: function(result){
jQuery('#div-custom').html(result).show();
$("#div-custom").find("script").each(function() {
eval($(this).text());
});
}
});
});
</script>
Нью-fields.php:
$picker = '<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(function() {
$("#datepicker1").datepicker({
numberOfMonths: 3,
showButtonPanel: true
});
});
</script>
<script>
$(function() {
$("#datepicker2").datepicker({
numberOfMonths: 3,
showButtonPanel: true
});
});
</script>
<p>Date: <input type="text" id="datepicker1"></p>
<p>Date: <input type="text" id="datepicker2"></p>';
echo $picker;
Я не ясно, как main.html и Нью-fields.php совмещаются , Какой из них вызывает ошибку? Также (при условии, что это весь ваш код) бессмысленно хранить вашу HTML-строку в переменной PHP, подобной этой, а затем повторять ее в браузере. Вместо этого закончите свой тег PHP '?>', А затем выведите свой HTML напрямую. – Mike
Просто догадайтесь, но так как вы включаете запрос ui перед тем, как вы назовите datepicker .. возможно, он вызывает функцию до того, как библиотека закончила загрузку, и поэтому она недоступна для запуска? – TinMonkey