如何获取jquery datepicker的所有选项以使用相同的选项实现新的datepicker?
我想克隆一个包含2个不同选项的日期选择器的表。您可以在此处看到一个示例:http://jsfiddle.net/qwZ5x/4/
<div class="clonable">
<table><tr><td>
<input type="text" id="datepicker" />
<script>
jQuery(document).ready(function() {
jQuery("#datepicker").datepicker({
showOn: "both",
buttonImage: "http://jqueryui.com/resources/demos/datepicker/images/calendar.gif"
});
});
</script></td><td>
<input type="text" id="datepicker2" />
<script>
jQuery(document).ready(function() {
jQuery("#datepicker2").datepicker();
});
</script>
</td></tr></table>
</div>
<a href="javascript:void(0);" id="clone">Clone</a>
var id = 0;
jQuery("#clone").on("click", function () {
var clonable = jQuery(".clonable:first").clone(true, true);
jQuery(clonable).find("input").each(function () {
jQuery(this).attr("id", jQuery(this).attr("id") + "_" + id);
jQuery(this).siblings('.ui-datepicker-trigger,.ui-datepicker-apply').remove();
jQuery(this).removeClass('hasDatepicker');
jQuery(this).datepicker({
showOn: "both",
buttonImage: "http://jqueryui.com/resources/demos/datepicker/images/calendar.gif"
});
});
jQuery(clonable).insertBefore("#clone");
id = id + 1;
});
如何在没有设置选项的情况下将所有选项设置为克隆的datepicker?
非常感谢。
答案 0 :(得分:12)
您可以使用以下方法获取现有日期选择器的选项:
var options = jquery('#datepicker').datepicker('option', 'all');
获取一个特定选项,例如numberOfMonths:
var numberOfMonths = jquery('#datepicker').datepicker('option', 'numberOfMonths');
答案 1 :(得分:0)
在您的特定情况下,请替换它:
jQuery(this).datepicker({
showOn: "both",
buttonImage: "http://jqueryui.com/resources/demos/datepicker/images/calendar.gif"
});
......用这个:
jQuery(this).datepicker(jQuery(this).datepicker('option', 'all'));
以下是改变的问题:http://jsfiddle.net/puAde/
这是有效的,因为您已经克隆了包含选项的输入元素,但是需要将它们重新应用到新实例。
请注意,您需要传递'all'
才能获取当前选项(jQuery文档错误)。