cakePHP动态适应输入JqueryUI建议如何?
我正在尝试输入建议。这在它的自我是没有什么特别的JqueryUI能够非常开箱 我遇到麻烦的地方是向jqueryUI提供了一个您需要提供的可能建议列表。。。我用的桌子很大,可以作为一个整体倒进视图中。。。但是当用户开始在字段中输入并给他剩下的前100条建议时,我不知道如何从中获取值。。。 有了这个,我希望减少数据库的负载,加快页面的加载速度,因为CakePHP没有在用户每次需要表单时都将整个表打包到视图中 到目前为止,我拥有的代码:(非常感谢每一只援助之手!thx…) 控制器:cakePHP动态适应输入JqueryUI建议如何?,jquery,ajax,cakephp,Jquery,Ajax,Cakephp,我正在尝试输入建议。这在它的自我是没有什么特别的JqueryUI能够非常开箱 我遇到麻烦的地方是向jqueryUI提供了一个您需要提供的可能建议列表。。。我用的桌子很大,可以作为一个整体倒进视图中。。。但是当用户开始在字段中输入并给他剩下的前100条建议时,我不知道如何从中获取值。。。 有了这个,我希望减少数据库的负载,加快页面的加载速度,因为CakePHP没有在用户每次需要表单时都将整个表打包到视图中 到目前为止,我拥有的代码:(非常感谢每一只援助之手!thx…) 控制器: <?php
<?php
App::uses('AppController', 'Controller');
class LocationsManagerController extends AppController {
public $helpers = array('Js');
public $components = array('RequestHandler');
public function index() {
}
public function updateSuggestions() {
/*
* place passed Value into $locationName
*/
$this -> loadModel('Location');
if ($this -> RequestHandler -> isAjax()) {
$this -> Location -> find('list',array(
'limit'=>'100',
'conditions' => array('Location.name' => $locationName),
));
$this->render('suggestions');
}
/*
* tell JqueryUI to update it's suggestion Array...
*/
}
当您使用JuerUI时,您可以使用自动完成:
然后,您必须在控制器中创建一个操作,该操作返回您的建议的json列表。您需要一个计数器来计算前3或4个字符,然后从数据库中检索?
<div id="suggestions">
<!--
array of possible Options...
-->
</div>
<?php
echo $this -> Html -> script('jqueryUI', FALSE);
echo $this -> Form -> create('locationsmanager');
echo $this -> Form -> input('Location', array('id' => 'location'));
echo $this -> Form -> submit('Send');
$updateSuggestions = $this -> Js -> get('#location') -> event(
#@formatter:off ;
'change',
$this->Js->request(
array(
'action' => 'foo',
'data' => $form,
),
array(
'async' => true,
'update' => '#suggestions'
)
)
#@formatter:on ;
);
?>