DatePicker / Timepicker始终可见

时间:2016-06-28 09:54:39

标签: javascript jquery

我的字段中包含datepicker& timepicker。每当我移动到该页面时,上次使用的datepicker or timepicker始终可见。例如,如果我在该页面上使用了timepicker,那么每当我要访问该页面时,timepicker都会打开。

我的要求是,当我点击TextBox时,datepickertimepicker应该可见。

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>

1 个答案:

答案 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- pickadate.js

如果您没有使用此API,请确保您可以执行此类操作。