带有隐藏输入的jqueryui datepicker

VMO*_*ega 9 jquery-ui datepicker jquery-ui-datepicker

我有一个按钮和一个隐藏的输入.

我想在我点击它的按钮下方打开日期选择器.并且所选日期将插入隐藏输入中.

我不想创建一个新按钮(使用datepicker选项),我不想显示输入.

<button type="button" class="btn" id="date_button">Select Date...</button>

<input type="hidden" name="date" id="date_field" />

<script>
    $('#date_button').datepicker({
        showOn: "button",
        onSelect: function( dateText ) {
            $('#date_field').val( dateText );
            $('#date_button').text( dateText );
        }
    })
</script>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

小智 13

我做了这个.做了一个.show().focus().hide() - 虽然它有点不干净但效果很好:

$(document).ready(function() {
    $('input').datepicker();
        $('#mybutton').click(function() {
        $('input').show().focus().hide();
    });
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/JKLBn/


And*_*ker 1

这有点 hacky,但似乎工作正常:

  1. 将日期选择器附加到而input不是按钮上。
  2. 打开时将日期选择器重新放置在按钮下方。
var $button = $("#date_button"),
    left = $button.offset().left,
    top = $button.offset().top + $button.height();

$('#date_field').datepicker({
    onSelect: function(dateText) {
        $('#date_field').val(dateText);
        $button.text(dateText);
    },
    beforeShow: function (event, ui) {
        setTimeout(function () {
            ui.dpDiv.css({ left: left, top: top });      
        }, 5);               
    }
});

$button.on("click", function() {
    $("#date_field").datepicker("show");
});
Run Code Online (Sandbox Code Playgroud)

示例: http: //jsfiddle.net/StUsH/