cakephp菜鸟笔记——Js引擎jQuery使用

cakephp的ajax默认绑定prototype,而本人接触js一开始就是jQuery控,闲话不多说,直接讲讲我用Js的helpers的引擎是jQuery库的过程。

	echo $this->Html->script('jquery');
这句话就是开启了jQuery库的支持。并且需要app_controller.php里面添加Js helpers的支持。

	echo $this->Js->writeBuffer(); // Write cached scripts
这句话要放在body标签结束前,特别是用ajax替换html页面内容时,这句话同样要出现在替换与被替换的内容中,尽量不要放在layout里面。

如果出了使用jQuery库之外,还要和其他库一起使用的话,

	$this->Js->JqueryEngine->jQueryObject = '$j';
	print $this->Html->scriptBlock('var $j = jQuery.noConflict();', 
	array('inline' => false)); //Tell jQuery to go into noconflict mode
以上准备好后,就开始可以使用Js engine。

我一般查看

        http://api13.cakephp.org/class/js-base-engine-helper  

        http://api13.cakephp.org/class/js-helper

还有http://book.cakephp.org/1.3/en/view/1596/Javascript-engine-usage这3个地方,了解API和用例。

下面是一个下拉框值变化的时候提交表单的例子

<?php echo $this->Form->input('list1',array('type'=>'select','options'=>$cTaxonomy));?>
	<?php 
		$this->Js->get('#TaxonomyList1')->event('change', $this->Js->request( 
			array('controller' => 'Products', 'action' => 'getTaxonomy'), 
			array( 
			'update' => '#searchProducts', 
			'async' => true, 
			'dataExpression' => true, 
			'method' => 'post', 
			'data' => $js->serializeForm(array('isForm' => false, 'inline' => true)) 
			) ) ); 
	?>
可以看到method是post的,我没有用get是因为不知道如何取得下拉框选中的值。

	$this->Js->get('#element');
	$result = $this->Js->effect('fadeIn');

	//$result contains $("#foo").fadeIn();
还有effect事件,基本都可以使用jQuery里面内置的动画效果。 http://book.cakephp.org/1.3/en/view/1593/Methods 这个页面有详细的说明如何用。我就不再仔细详述了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值