2016-03-10 36 views
1

我打电话此代码的工作onClick="LickExpDt('#example2');"jQuery将不会直到第2点击

的“警报”触发每一次,但“.datepicker”只会火如果我点击它一次,点击其他地方,然后第二次点击它(与“警报”一起),然后它就像正常一样。
我想在一个$(document).ready(function() {包装的功能:

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

没有火灾,我得到一个“遗漏的类型错误:LickEx是不是一个函数”
我需要调用LickEx这种方式让我可以传递变量在作为参数(它的输入框的ID)
是有办法来传递被点击与该输入框的ID的变量:

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

或修正原始?

+1

可能重复的[Javascript行为点击](http://stackoverflow.com/questions/35923682/javascript-action-on-click) –

回答

4

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

$('.datepicker').datepicker({ 

它仅适用于你的情况,第二次点击的原因是要连接的日期选择器,只有当你点击该元素上。所以需要额外的点击才能看到它。

+0

谢谢,我试过了,使用类:(“class = datepicker” )和$('。datepicker')。datepicker({....并且它根本不会触发...像datepicker脚本一样只能用于编号为 – Jen2020

+0

@ Jen2020很高兴有帮助:) –

-1

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

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

第一次点击只是将datepicker绑定到元素 - 第二次点击实际上会激活它。这就是为什么你没有看到日历,直到第二次点击。

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

+0

事情是,我正在创建一个表单,用户可以点击一个按钮将更多这些输入框添加到页面以填写。所以,我不知道会有多少盒子,所以我怎么能绑定它们?这就是为什么我以另一种方式接近问题,试图将ID作为参数推入。 – Jen2020

+0

您可以在将它们添加到页面时绑定它们。 – swatkins

相关问题