我正在創建一個我想插入日期範圍的Zend表單。該表單使用jQuery UI庫進行了增強,因此我有一個日期和日期字段,它們都是datepicker元素。這工作正常;這裏是Zend_Form的這部分:如何將jQuery事件回調函數添加到Zend表單元素
// Date range
$date = $this->getView()->date(time());
$this->addElement('DatePicker', 'userday_from', array(
'label' => 'Datum van',
'value' => $date,
'jQueryParams' => array(
'defaultDate' => $date,
'dateFormat' => $this->getView()->date()->getFormatJquery()
)
));
$this->addElement('DatePicker', 'userday_to', array(
'label' => 'Datum tot',
'value' => $date,
'jQueryParams' => array(
'defaultDate' => $date,
'dateFormat' => $this->getView()->date()->getFormatJquery()
)
));
當第一個日期改變時,我想更新第二個日期。 jQuery datepicker有一個onSelect事件。然而,我無法一個回調函數添加到jQueryParams:
$this->addElement('DatePicker', 'userday_from', array(
'label' => 'Datum van',
'value' => $date,
'jQueryParams' => array(
'defaultDate' => $date,
'dateFormat' => $this->getView()->date()->getFormatJquery(),
'onSelect' => "function(){ alert('test'); }" // ! is not working
)
));
因此,我嘗試添加該jQuery的「選項」之後是這樣的:
$this->getView()->jQuery()
->addOnload("
$('#userday_from').datepicker('option', 'onSelect', function(selectedDate){
alert('test');
});
");
此,在另一方面,增加了新的jQuery的的document.ready()函數,在我的日期選擇器元素的intialization功能,因此無法正常工作或:
<script type="text/javascript">//<![CDATA[
$(document).ready(function() {
$('#userday_from').datepicker('option', 'onSelect', function(selectedDate){
alert('test');
});
$("#userday_from").datepicker({"defaultDate":"09-11-2012","dateFormat":"dd-mm-yy"});
$("#userday_to").datepicker({"defaultDate":"09-11-2012","dateFormat":"dd-mm-yy"});
});
//]]></script>
我不希望覆蓋的DatePicker viewhe爲了破解這樣的東西在裏面。這是將兩個表單元素綁定在一起的東西,所以將它添加到Zend_Form init()函數似乎對我有用。
一個很好的補充,但沒有回答我的問題。 – raps
已結帳嗎? http://stackoverflow.com/questions/887696/jquery-datepicker-onselect-wont-work –