2012-03-14 63 views
0

我已经实现jquery editortemplates.nowever datepicker.However但在某些查看页面上,我需要添加onselect事件datepicker。日期选择代码jquery选择视图级别jquery datepicker模板没有声明datepicker

<script type="text/javascript"> 
    $(function() { 
     $('.dateofbirth').datepicker({ dateFormat: "dd/mm/yy" }); 
    }); 
</script> 

已被放在_layout.cshtml上。现在我不能触发子页面widout中的必要事件再次声明datepicker元素。有没有什么办法,我可以只点燃datepicker onselect方法,并在我自己的子页面上执行一些操作,并且datepicker配置和初始化保留在_layout.cshtml上?

像这样

视图1:

$('#dob').datepicker({onSelect: function(dateText, inst) { /*Calculate Age*/ }}); 

查看2:

$('#addmonths').datepicker({onSelect: function(dateText, inst) { /*Calculate New maturity Date*/ }}); 

我只是不希望孩子页面上再次redeclair为#element的日期选择器的元素。让初始化由编辑器模板处理,但在子页面上,我只想在没有重新声明的情况下根据需要调用onSelect方法。

有没有反正我可以调用方法?

回答

0

尝试使用“选项” - 方法只设置一个选项。

$('#dob').datepicker('option', 'onSelect', function(dateText, inst) { /*Calculate Age*/ }); 

通过使用默认方式为初始化 - 您的参数对象将默认值来extendet(在日期选择器实现)并传递给init-方法。

http://jqueryui.com/demos/datepicker/#method-option

你甚至可以设置日期选择系统范围的默认值。 http://docs.jquery.com/UI/Datepicker/setDefaults

+0

你的意思是说它不会影响默认设置吗?它实际上会使用onSelect事件函数扩展默认设置而不重新初始化datepicker? – Joy 2012-03-15 04:55:05

+0

对不起?如果使用'setDefaults',则可以更改默认值。如果您仅使用选项数组初始化输入或添加一个选项,则只会扩展所选输入的默认值。但是默认设置对于带日期选择器的其他输入将保持不变。 – StilgarBF 2012-03-15 05:30:16

+0

哦,好吧,我知道了:)谢谢你的回答:) – Joy 2012-03-15 05:31:07

0

我已经在这里得到了答案。如果我将默认设置为日期选择器,则将应用所有默认设置。但是,如果我必须选择我们必须再次

$('#dob').datepicker({onSelect: function(dateText, inst) { /*Calculate Age*/ }}); 

它does not重新创建datepicker实际。它所做的是。如果有任何默认设置提供给日期选择器。那些日期选择器设置被应用,并且一旦它发现日期选择器已经被初始化,则选择的事件被附加到现有的日期选择器。所以相反,日期选择器不是重新创建,而只是附加选择事件