我的字段中包含datepicker
& timepicker
。每当我移动到该页面时,上次使用的datepicker or timepicker
始终可见。例如,如果我在该页面上使用了timepicker
,那么每当我要访问该页面时,timepicker
都会打开。
我的要求是,当我点击TextBox
时,datepicker
或timepicker
应该可见。
JavaScript功能:
$(document).ready(function () {
$("[id$=TextBox1]").pickadate({format: 'dd/mm/yyyy'});
$("[id$=TextBox3]").pickatime({ interval: 10 });
$("[id$=TextBox4]").pickatime({ interval: 10 });
});
我应该在哪里更改我的代码?
请帮我这样做。
由于
更新代码:
TextBox1
<tr> <td class="style10">
<strong>
Today
</strong>
</td>
<td class="style13">
<strong>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</strong>
</td>
</tr>
TextBox3
<tr>
<td class="style10">
<strong>
In Time:</strong></td>
<td class="style13">
<strong>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
</strong>
</td>
</tr>
TextBox4
<tr>
<td class="style10">
<strong>
OutTime:</strong></td>
<td class="style13">
<strong>
<asp:TextBox ID="TextBox4" runat="server" onkeyup="sum"></asp:TextBox>
</strong>
</td>
</tr>
<tr>
答案 0 :(得分:0)
您可以在var
中实例化选择器var picker = $input.pickadate('picker')
并在需要时打开或关闭它:
picker.open()
picker.close()
通过这种方式,您可以为每个选择器执行类似的操作:
$(document).ready(function () {
var picker = $("[id$=TextBox1]").pickadate({format: 'dd/mm/yyyy'});
});
为每个输入添加两个事件处理程序:
$('#TextBox1').focus(function() {
picker.open()
});
$('#TextBox1').focusout(function() {
picker.close()
});
如果你不想为每个输入手动声明一个处理程序(可能很少 toilsome),你可以创建一个参数化函数:
function parametrizeHandlers(inputId, picker) {
$('#'+inputId).focus(function() {
picker.open()
});
$('#'+inputId).focusout(function() {
picker.close()
});
}
重要提示:我想说您正在使用此API,完整规范:
如果您没有使用此API,请确保您可以执行此类操作。