为什么我不能输入到文本框日期选择器?(Why can't I type into datep

2019-09-18 04:39发布

我调整了一点选择器如何工作的日期时间。 这是触发的选择变化。

但现在我无法输入到文本框中。 我使用文本框不仅为日期时间,但让用户输入的其他类型的信息在我的应用程序。

我怎样才能让用户输入到这个文本框中? 因此,所有其他设置将保持原样。 日期选择器仅在选择更改触发。 不上单击文本框本身。

的jsfiddle样本

HTML代码

<input id="datetime" type="text" name="datetime" value="" >
<select size=5>
    <option value="not">Not this one</option>
    <option value="not">Not this one</option>
    <option value="not">Not this one</option>
    <option value="datetimepicker">Select date and time</option>
</select>​

JavaScript代码

$('#datetime').datetimepicker({
    showOn: "button",
});
$('option[value=datetimepicker]').click(function() {
    $('#datetime').datetimepicker('show');
});
​

CSS代码

.ui-datepicker-trigger{display:none;}​

Answer 1:

这是你的代码在默认情况下禁用您的输入,并从中作出的DateTimePicker“按钮”,那为什么你不能印刷输入的字段中的文字:

$('#datetime').datetimepicker({
    showOn: "button",
});

让我们进一步看看:

$('option[value=datetimepicker]').click(function() {
  // This part of code will work when you click inside SELECT field
}

所以,你需要将输入转化成的DateTimePicker当你点击里面SELECT,真的吗?

要做到这一点,你只需动previouse块内的DateTimePicker的inicialization:

$('option[value=datetimepicker]').click(function() {
    $('#datetime').datetimepicker({
        showOn: "button",
    });
    $('#datetime').datetimepicker('show');
});

现在可以在里面输入类型,直到SELECT被按下。 当SELECT被压,datapicker启动并输入字段中输入您的文字消失。

下面是修改小提琴: http://jsfiddle.net/dPRjS/9/


更新:

要添加的可能性编辑输入的DateTimePicker关闭后,你需要摧毁创建的DateTimePicker在现场输入,将其返回到工作可能作为输入:

你需要当你点击输入栏激活这个动作:

$('#datetime').click(function(){
     $('#datetime').datetimepicker( "destroy" );
 });

工作更新小提琴: http://jsfiddle.net/dPRjS/10/



文章来源: Why can't I type into datepicker textbox?