使用jQuery(cakephp 2.1)向表单添加选项卡

时间:2012-05-09 21:08:28

标签: php jquery cakephp-2.1

我正在使用cakephp 2.1就好了;我想使用jquery将我的表单分为制表符。 已经在蛋糕外使用jquery并使标签演示工作。 http://jqueryui.com/demos/tabs/
我还从webroot文件夹和

中获取了cakephp的jquery

ProjectsController.php

public $helpers = array('Js' => array('Jquery'));

add.ctp(在最后一行)

echo $this->Js->writeBuffer(); // Write cached scripts

在我的视图中应该在何处以及如何调用jquery?我知道我应该使用类似于演示的东西:

<script>
        $(function() {
            $( "#tabs" ).tabs();
        });
    </script>

但不知道在我看来在哪里和sintax。

有人可以帮忙吗?

非常感谢!

这是我的完整add.ctp

<div class="projects form">
<?php echo $this->Form->create('Project');?>

<fieldset>
    <legend><?php echo __('Add Project'); ?></legend>
<?php
            $arr_pr_subject = Configure::read('AR_SUBJECT'); 
            $arr_pr_status = Configure::read('AR_STATUS'); 
            $arr_pr_payment = Configure::read('AR_PAYMENT'); 
            $arr_pr_country = Configure::read('AR_COUNTRY'); 
            echo $this->Form->input('name', array('label' => 'Name:'));
            echo $this->Form->input('pr_subject', array('label' => 'Subject:', 'options' => $arr_pr_subject));
            echo $this->Form->input('pr_country', array('label' => 'Country:', 'options' => $arr_pr_country));
            echo $this->Form->input('pr_number', array('label' => 'ASC Project Number:'));
            echo $this->Form->input('pr_status', array('label' => 'Status:', 'options' => $arr_pr_status));
            echo $this->Form->input('client_id', array('label' => 'Client:', 'options' => $clients));
            echo $this->Form->input('pr_client_number', array('label' => 'Client Project Number:'));
            echo $this->Form->input('exec_id', array('label' => 'Sales Executive:', 'options' => $execs));
            echo $this->Form->input('pr_start', array('label' => 'Est. Start Date:'));
            echo $this->Form->input('pr_end', array('label' => 'Est. End Date:'));
            echo $this->Form->input('pr_notes', array('label' => 'Notes:'));
            echo $this->Form->input('pr_payment', array('label' => 'Payment options:', 'options' => $arr_pr_payment));
?>
</fieldset>
<?php echo $this->Form->end(__('Submit'));?>
</div>
<?php
echo $this->Js->writeBuffer(); // Write cached scripts
?>

1 个答案:

答案 0 :(得分:2)

<head>中,包括jquery和jqueryui:

<script src="/js/path/to/jquery.js" type="text/javascript"></script>
<script src="/js/path/to/jqueryui.js" type="text/javascript"></script>

然后正确,包含一个单独的js文件以保存所有代码

<script src="/js/myscripts.js" type="text/javascript"></script>

在该文件(myscripts.js)中输入您的jQuery代码:

$(function() {
  $( "#tabs" ).tabs();
});

然后构造表单输入以匹配jQuery Tabs语法

<form action="...">
<div id="tabs">
  <ul>
    <li><a href="#tab1">Tab 1</a></li>
    <li><a href="#tab2">Tab 2</a></li>
  </ul>
  <div id="tab1">
    <!-- Tab 1 inputs in here -->
  </div>
  <div id="tab2">
    <!-- Tab 2 inputs here -->
  </div>
</div>
</form>