1

私のコントローラーは

public function init()
{
    /* Initialize action controller here */
    $ajaxContext = $this->_helper->getHelper('AjaxContext');
    $ajaxContext->addActionContext('get-ajax-content', 'html')
                ->initContext();
}

public function indexAction()
{
    // action body
    $form = new Zend_Form_Element_Select('menu');
    $parent_array=range('1','9');
        $form->addMultiOptions(array($parent_array));
        $this->view->form = $form;
}

このフォーム要素のために、私は ajax 関数を呼び出しています。

<script type="text/javascript">

  $(document).ready(function(){
    $("#menu").change(function(){
        $.ajax({
            type: "POST",
            url: "get-data",
            data: "val="+$(this).val(),
            success: function(result){
                $("#div_sortorder").html(result);
            },
            error: function(){
                //console.log('error');
            },
            complete: function(){
                //console.log('complete');
            }
        });
    });
 </script>

get-data アクションは次のとおりです

public function getDataAction()
{
    // action body
    $this->view->message = 'This is an ajax message!';
    $params = array(    'host'      =>'localhost',
                        'username'  =>'root',
                        'password'  =>'',
                        'dbname'    =>'cms'
                       );
    $DB = new Zend_Db_Adapter_Pdo_Mysql($params);
    $section_id=$this->getRequest()->getPost('val');
    $menu_order='SELECT * FROM `cms_content_mst` WHERE section_id='.$section_id;
    $menu_order=$DB->fetchAll($menu_order);
    $newContent='<select id="sortorder" name="sortorder">';
    if(!empty($section_id) || $section_id != 0){
        if (empty($menu_order)) {
                    $newContent.='<option value="1" selected="selected">1</option>';
        }
        else
        {

        for ($i=1; $i <= count($menu_order) ; $i++) { 

                  $newContent.='<option value="'.$i.'"';
                  if($i==count($menu_order))
                  { $newContent.=' selected'; }
                  $newContent.='>'.$i.'</option>';

            }

        }
      }
      $newContent.='</select>';

    $this->view->new = $newContent;

}

私は完全に jquery を作業しました。私は.get関数を持っていますが、.ajaxを呼び出すと機能しません

4

1 に答える 1

0

お願いします!ページを読み込める場合は、コンソールでチェックインしてください。

 $.ajax({
            type: "POST",
            url: "get-data",
            data: "val="+$(this).val(),
            success: function(result){
                $("#div_sortorder").html(result);
            }

間違ったURLを指定したと思います。

于 2012-11-01T09:24:23.657 に答える