自定义日期选择器宽度

时间:2015-08-21 14:29:36

标签: javascript jquery jquery-ui

我有一个输入字段。如何使jquery的datepicker与输入字段的宽度相同?

我尝试过以下但不起作用。

var datesW=$('#dates').width();
console.log(datesW);
$('#dates.ui-datepicker').attr('style', 'width: '+datesW+'px !important');

2 个答案:

答案 0 :(得分:0)

尝试使用beforeShow属性:

创建日期选择器时,请设置beforeShow属性,如下所示:

$("#dates").datepicker({
    beforeShow: function(input, inst) {
        setTimeout(function(){
            var datesW=$('#dates').width();
            console.log(datesW);
            $('#dates.ui-datepicker').css('width',datesW+'px');
        },0);
    }
});

如果字体太大,您可能仍需要将其放入css中:

.ui-datepicker{
 font-size:12px; //Or adjust it if it is still too large or small
}

答案 1 :(得分:0)

由于输入的宽度可能会有所不同,因此您必须为每个输入设置数据标签的宽度。

$("input.hasDatepicker").click(function () {
    $("#ui-datepicker-div")
        // BTW, min-width is better:
        //.css("min-width", $(this).outerWidth() + "px");
        .css("width", $(this).outerWidth() + "px");
});