私はzendにエントリを送信するためのフォームがあり、下部に以前のエントリをリストしたビューがあります。検索ボタンをクリックすると、検索機能が適用され、正常に機能します。今私が欲しいのは、getJSONイベントを使用してキーアップイベントに検索を適用して、コンテンツを即座に検索できるようにすることです。
検索ボタンをクリックして検索するための検索条件を2つ追加しました。
if($req->isPost()) {
{
//$ajaxPostedData = $req->getPost();
$ajaxPostedData = $req->getParams();
//echo $ajaxPostedData['search_term'];
$select->where("ma_heading like '%".$ajaxPostedData['search_term']."%'");
//$select->where($val)
//echo $select->__toString();die;
//print_r($data = $db_model->fetchAll($select));
//die;
//echo $select->__toString();
return $data = $db_model->fetchAll($select);
# Paging section
$paginator = Zend_Paginator::factory($data);
$paginator->setItemCountPerPage(PAGING_RESULT_PER_PAGE);
$paginator->setCurrentPageNumber($page);
$paginator->setPageRange(PAGING_PAGES_RANGE_PER_PAGE);
$this->view->data = $paginator;
//$this->_helper->P($ajaxPostedData);die;
//
}
キーアップイベント用
if($req->isXmlHttpRequest())
{
//$ajaxPostedData = $req->getPost();
$ajaxPostedData = $req->getParams();
//echo $ajaxPostedData['search_term'];
$select->where("ma_heading like '%".$ajaxPostedData['search_term']."%'");
//$select->where($val)
//echo $select->__toString();die;
//print_r($data = $db_model->fetchAll($select));
//die;
//echo $select->__toString();
return $data = $db_model->fetchAll($select);
# Paging section
$paginator = Zend_Paginator::factory($data);
$paginator->setItemCountPerPage(PAGING_RESULT_PER_PAGE);
$paginator->setCurrentPageNumber($page);
$paginator->setPageRange(PAGING_PAGES_RANGE_PER_PAGE);
$this->view->data = $paginator;
//$this->_helper->P($ajaxPostedData);die;
//
}
ただし、キーアップでコンテンツを検索する場合、コンテンツは動的に置き換えられません。
zendでキーアップ検索を適用する方法を教えてください。
これは私がリクエストを送信するために使用したjQueryスクリプトです
jQuery('#txt_heading_filer').keyup(function() {
var heading = jQuery('#txt_heading_filer').val();
$.getJSON('admin/admin/announcements/search_term/'+heading, function() {
});
});
これは検索時に更新する必要があるテーブルです
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="top-table-bg">
<tr>
<th width="" align="left"><?php echo $obj_trans->_('heading'); ?></th>
<th width="20%" align="left"><?php echo $obj_trans->_('expiry date'); ?></th>
<th width="10%" align="center"><?php echo $obj_trans->_('publish/unpublish'); ?></th>
<th width="10%" align="center"><?php echo $obj_trans->_('action'); ?></th>
</tr>
<?php
foreach($data_arr as $key => $data) { ?>
<tr>
<td align="left" class="name" ><span><?php echo $data[PREFIX_MASTER_ANNOUNCEMENTS . 'heading']; ?></span></td>
<td align="left" class="name">
<?php echo (!empty($data[PREFIX_MASTER_ANNOUNCEMENTS . 'expiry_date'])) ? date("j", strtotime($data[PREFIX_MASTER_ANNOUNCEMENTS . 'expiry_date'])).'<sup>'.date("S", strtotime($data[PREFIX_MASTER_ANNOUNCEMENTS . 'expiry_date'])).'</sup> '.date("M, Y", strtotime($data[PREFIX_MASTER_ANNOUNCEMENTS . 'expiry_date'])) : "N/A"; ?>
</td>
<td align="center">
<?php Admin_View_Helper_GeneralHelper::status_icon($data[PREFIX_MASTER_ANNOUNCEMENTS . 'status']); ?></td>
<td align="center">
<a href="javascript:;" class="info_tooltip update_data" title="Edit" rel="<?php echo $data[PREFIX_MASTER_ANNOUNCEMENTS . 'id']; ?>" id="link_edit"><?php echo $this->img("img/admin/icons/edit.png", array('id' => 'icon_edit')) ?></a>
<a href="<?php echo $this->url(array('controller' => 'admin', 'action' => 'announcements', 'do' => 'delete', 'item' => $data[PREFIX_MASTER_ANNOUNCEMENTS . 'id'])); ?>" class="info_tooltip delete_data" title="Delete" rel="<?php echo $data[PREFIX_MASTER_ANNOUNCEMENTS . 'id']; ?>" id=""><?php echo $this->img("img/admin/icons/delete.png", array('id' => 'icon_delete')) ?></a>
</td>
</tr>
<?php } ?>
</table>