AJAX响应中的jQuery UI日期选择器
jQuery UI Date Picker in AJAX Response
我使用PHP脚本生成一些HTML,其中包括javascript (DatePicker从jQuery UI)。
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>
New-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;
您得到一个错误,因为在您的主文档中您使用jQuery
,我假设没有冲突的目的,在success
处理程序中您使用jQuery
和$
,最后在ajax
响应中您再次使用$
符号。
我的方法是将javascript移出ajax
响应。
将所有.js
文件加载到主文档中,从响应中取出所有<script>
引用,并丢失eval
。
像这样修改ajax
success
处理器
success: function(result){
jQuery('#div-custom').html(result).show();
jQuery("#div-custom").find("#datepicker1,#datepicker2" ).datepicker({
numberOfMonths: 3,
showButtonPanel: true
});
}
和你的php
文件应该是:
$picker = '<p>Date: <input type="text" id="datepicker1"></p>
<p>Date: <input type="text" id="datepicker2"></p>';
echo $picker;
相关文章:
- JQuery UI日期选择器:在选择出发日期时自动弹出返回日期
- Jquery UI日期选择器不关注输入
- Jquery UI日期选择器没有'单击链接时不会再次显示
- 从Function触发JQuery UI日期选择器,并将日期存储到变量中
- 将 jQuery UI 日期选择器与异步 AJAX 请求一起使用
- 如何在 Angular UI 日期选择器中格式化行和月份名称
- 在JQuery UI日期选择器中禁用当前日期之前的日期
- 正在禁用jQuery UI日期选取器日期
- 正在将Jquery UI日期选择器链接到DropDownlist
- jQuery UI日期选择器只响应第一个文本框
- 将“日期”设置为Jquery UI日期选择器输入文本框
- jQuery UI日期选择器不工作
- JQuery UI日期选取器焦点
- Angular UI日期插件:选择时不起作用
- 在jQuery UI日期选择器的输入中显示完整日期
- jQuery ui日期选择器本身的格式
- jQuery UI日期选择器通过AJAX启用可见月份的日期
- 在 jquery UI 日期选取器中排除和禁用两个日期之间的差异中的假日
- Jquery UI 日期选择器在注销和登录后不显示
- jQuery UI 日期选择器 - 禁用公共假期、周末、第二天上午 10 点之后,只允许周二、周三和周四作为可选日期