将属性设置为所有日期选择器,也可以单独设置

时间:2011-07-17 19:06:29

标签: jquery jquery-ui jquery-selectors datepicker

假设您有一个包含多个日期选择器的页面,并且您希望将一些具有相同值的属性设置为所有(使用类选择器),然后将非共享属性设置为每个属性。他们(使用id选择器)。怎么做?

这是我到目前为止所尝试的内容

$(document).ready(function() {
    // Shared properties for all datepickers with class="datepicker"
    $( ".datepicker" ).datepicker({
        showOn: 'focus',
        showButtonPanel: true,
        showOtherMonths: true,
        selectOtherMonths: true,
        dateFormat: "d M yy"
    });

    // Specific properties for each datepicker
    $("#myDate1").datepicker({ 
      altFormat: "yy-mm-dd",
      altField: "#myDate1_alt"
    });

    $("#myDate2").datepicker({ 
      altFormat: "yy-mm-dd",
      altField: "#myDate2_alt"
    });
});

标记

<input type='text' id='myDate1' class="datepicker"/>        
<input type="hidden"  id="myDate1_alt"/>        

<input type='text' id='myDate2' class="datepicker"/>        
<input type="hidden"  id="myDate2_alt"/>

它很好地设置了共享属性,但没有设置特定属性。我也尝试颠倒顺序(“#myDate1” - “#myDate2” - “。datepicker”,但随后“.datepicker”的属性消失了。)

2 个答案:

答案 0 :(得分:4)

您可以将option动词传递给datepicker()方法:

// Specific properties for each datepicker.

$("#myDate1").datepicker("option", { 
    altFormat: "yy-mm-dd",
    altField: "#myDate1_alt"
});

$("#myDate2").datepicker("option", {
    altFormat: "yy-mm-dd",
    altField: "#myDate2_alt"
});

答案 1 :(得分:0)

它应该是datePicker,大写为p:

$("#myDate1").datePicker({ 
    altFormat: "yy-mm-dd",
    altField: "#myDate1_alt"
});

当我更改为datePicker时,您的代码有效。