Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 为什么我不能在datepicker文本框中输入?_Jquery_Jquery Ui_Jquery Plugins_Datetimepicker - Fatal编程技术网

Jquery 为什么我不能在datepicker文本框中输入?

Jquery 为什么我不能在datepicker文本框中输入?,jquery,jquery-ui,jquery-plugins,datetimepicker,Jquery,Jquery Ui,Jquery Plugins,Datetimepicker,我稍微调整了datetime选择器的工作方式。它在更改选择时触发 但现在我无法在文本框中键入内容。我使用文本框不仅用于日期时间,还允许用户在我的应用程序中输入其他类型的信息 如何让用户在该文本框中键入?因此,所有其他设置保持原样。日期选择器仅在选择更改时触发。而不是单击文本框本身 html代码 <input id="datetime" type="text" name="datetime" value="" > <select size=5> <option

我稍微调整了datetime选择器的工作方式。它在更改选择时触发

但现在我无法在文本框中键入内容。我使用文本框不仅用于日期时间,还允许用户在我的应用程序中输入其他类型的信息

如何让用户在该文本框中键入?因此,所有其他设置保持原样。日期选择器仅在选择更改时触发。而不是单击文本框本身

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>​
css代码

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

这是您的代码在默认情况下禁用输入,并从中创建datetimepicker按钮,这就是您无法在输入字段中打印文本的原因:

$('#datetime').datetimepicker({
    showOn: "button",
});
$('#datetime').click(function(){
     $('#datetime').datetimepicker( "destroy" );
 });
让我们进一步看看:

$('option[value=datetimepicker]').click(function() {
  // This part of code will work when you click inside SELECT field
}
所以,当您在“选择”中单击时,需要将输入转换为datetimepicker,是吗

为此,只需将datetimepicker的Inialization移动到上一个块中:

$('option[value=datetimepicker]').click(function() {
    $('#datetime').datetimepicker({
        showOn: "button",
    });
    $('#datetime').datetimepicker('show');
});
现在您可以输入内部输入,直到按下SELECT。按下SELECT时,数据采集器启动,输入字段中的文本消失

这里是修改过的小提琴:

更新: 若要在datetimepicker关闭后添加编辑输入的可能性,您需要销毁字段输入上创建的datetimepicker,将其作为输入返回到可能性工作:

单击输入字段时,需要激活此操作:

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

工作更新的fiddle:

确定我可以在启动日期时间选择器之前键入文本,但在使用日期时间选择器之后我无法键入文本。你知道吗?IE不支持选项标记事件。使用select change event并在ff11和最新chrome中为我检查insteadWorks值。谢谢你。