Jquery将无法工作直到第二次单击

时间:2016-03-10 19:36:38

标签: javascript jquery

我正在调用此代码:

function LickEx(pickID){
    alert('yo');
    $(pickID).datepicker({
        format : "mm/dd/yyyy",
        autoclose : true
    });
}

使用:onClick="LickExpDt('#example2');"

'alert'每次都会触发,但是'.datepicker'只会在我点击一次,点击其他地方,然后第二次点击它(连同'警报)时才会触发..然后它会动作像平常一样 我尝试将函数包装在$(document).ready(function () {

$(document).ready(function () {
    function LickEx(pickID){
        alert('yo');
        $(pickID).datepicker({
            format : "mm/dd/yyyy",
            autoclose : true
        });
    }
});

什么都没有,我得到一个“Uncaught TypeError:LickEx不是函数”
我需要以这种方式调用LickEx,以便我可以将变量作为参数传递(它是输入框的ID)
有没有办法传递一个变量的输入框的ID被点击:

$(document).ready(function () {
    $([put_var_here]).datepicker({
        format : "mm/dd/yyyy",
        autoclose : true
    });
});

或修复原件?

3 个答案:

答案 0 :(得分:4)

为什么不在要添加日期选择器功能的元素上有一个类?

 $('.datepicker').datepicker({

它仅在您的案例中第二次单击时起作用的原因是您附加了日期选择器,仅当您单击该元素时。所以需要额外点击才能看到它。

答案 1 :(得分:0)

第一次点击只是将datepicker绑定到元素 - 第二次点击实际上会激活它。这就是为什么在第二次点击之前你看不到日历的原因。

您需要在单击之前绑定元素。

答案 2 :(得分:-1)

在ID名称前添加#,在类名称前添加.

$(document).ready(function() {
    $('#pickID').datepicker({
        format : "mm/dd/yyyy",
        autoclose : true
    });
});