我有一个包含 20 个选项的选择,当用户仅选择一个特定选项“选择日期时间”时,应显示日期(时间)选择器,然后将日期时间文本填充到输入框。
这可能吗?我怎样才能做到这一点?
我现在正在工作日期(选择器)。它由按钮触发并链接到输入框。但我想根据我的具体需求修改它当前的工作方式。
问题1:我知道如何在选择更改时触发函数。然后我过滤选项,如果是这个选项,我将以某种方式启动日期选择器。我不知道如何做这部分。
问题2:我不知道如何告诉日期选择器将日期文本添加到现有文本框中。也许我可以以某种方式将日期计时器选择器与文本框链接起来。
- jquery-1.7.2.min.js
- jquery-ui-1.8.21.custom.min.js
- jquery-ui-timepicker-addon.js
更新
在 jsfiddle sample我有选择框和文本框。该按钮是由日期/时间选择器创建的。
我想要的是:
- 当用户选择/单击“选择日期和时间”选项时,将出现日期/时间选择器,并且文本将显示在文本框中
- 我不希望按钮在页面上可见
- 我将该文本框用于其他目的,而不仅仅是日期/时间,因此与此文本框相关的任何用户操作都无法显示日期/时间选择器
示例中的 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"
});
注意:最终工作版本如上所述:http://jsfiddle.net/radek/dPRjS/8/
最佳答案
以相反的顺序回答你的问题......
日期选择器通常“附加”到输入框。不需要告诉日期选择器将其选择的日期放入输入框中。日期选择器只是在关闭时执行此操作,即用户选择日期时。
这就留下了如何根据某些外部事件打开日期选择器的技巧。通常,通过单击附加的输入框,日期选择器会自动打开。您希望它通过更改选择/下拉菜单自动打开。
这对我有用:
js:
$(document).ready(function() {
var $dp = $('#date1').datepicker({});
$('#select1').change(function() {
// programmatically open the datepicker
$dp.datepicker('show');
});
});
html:
<input type="text" id="date1" size="12">
<br/>
<select id="select1">
<option>Hello</option>
<option>Bonjour</option>
<option>Buon giorno</option>
<option>Guten tag</option>
</select>
关于javascript - 我可以从函数触发日期(时间)选择器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11044037/