javascript 如何获取jquery datepicker的所有选项,以示例化具有相同选项的新datepicker?

xwbd5t1u  于 2022-12-25  发布在  Java
关注(0)|答案(3)|浏览(131)

如何获取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没有设置选项一个接一个?
非常感谢。

qhhrdooz

qhhrdooz1#

您可以使用以下命令获取现有日期选择器的选项:

var options = jquery('#datepicker').datepicker('option', 'all');

以获取一个特定选项,例如numberOfMonths:

var numberOfMonths = jquery('#datepicker').datepicker('option', 'numberOfMonths');
f87krz0w

f87krz0w2#

在您的特定情况下,替换为:

jQuery(this).datepicker({
    showOn: "both",
    buttonImage: "http://jqueryui.com/resources/demos/datepicker/images/calendar.gif"
});

......用这个:

jQuery(this).datepicker(jQuery(this).datepicker('option', 'all'));

这里有一个jsfidle与变化:http://jsfiddle.net/puAde/
这是因为您已经克隆了包含选项的input元素,但是需要将它们重新应用到新示例中。
注意,需要传递'all'以获取当前选项(jQuery文档是错误的)。

w46czmvw

w46czmvw3#

现在您可以获得如下所有选项:

$('#datepicker').data('datepicker');
$('#daterangepicker').data('daterangepicker');

输出特定值:

$('#datepicker').data('datepicker').timePickerIncrement
$('#daterangepicker').data('daterangepicker').timePickerIncrement

相关问题