0

私は自分のビューにオプションでhtmlを選択しました。 onchange私のコントローラのアクションを呼び出したい。 重要:onchange私のモジュール全体が変更されているので、私はonchange毎回ページをリフレッシュしたいので、私はAjaxでこれを行うつもりはありません。Ajax経由でSelectのOnchangeを介してコントローラのアクションを呼び出す(Zend Framework)

    <select id="p_s"> 
        <?php foreach($this->active_services as $row){ ?> 
        <option value="<?php echo $row['ph_id'];?>"><?php echo $row['ph_name'];?></option> 
         <?php }?> 
        </select> 

私はAJAXを通じてそれを行うつもりはありませんので、私も呼び出していますアクションは、以下のコードが含まれていました。

  if(!$this->_request->isXmlHttpRequest()){ 
      //The request was not made with JS XmlHttpRequest 
       $user = new Zend_Session_Namespace('user'); 
       $user_id =$user->user_id; 
       $object = new Services(); 
       $active_services  = $object->Get_Current_User_Active_Services($user_id); 
       $this->view->assign('active_services',$active_services); 
      } 

私が呼び出すアクションは、今回は正常であると呼びます。 ご迷惑をおかけして申し訳ございません。

+0

正確にあなたの質問は何ですか? – ventsislaf

+0

@vencislaf私の質問は、私の選択のonchangeを通じて私のコントローラアクションを呼び出すが、通常の方法では、ajaxを介して呼び出すことではないということです。 –

答えて

2
<select id="p_s"> 
    <?php foreach($this->active_services as $row) : ?> 
     <option value="<?php echo $this->url(array(
       "module" => "yourModule", 
       "controller" => "yourController", 
       "action" => "yourAction", 
       "p_s" => $row['ph_id'] 
      ), 
      $yourRouteName=null, 
      $reset=true); 
      ?> 
     "> 
      <?php echo $row['ph_name'];?> 
     </option> 
    <?php endforeach ?> 
</select> 

その後

$("#p_s").change(function() { 
    window.location.href = $(this).val(); 
}); 
+0

sir私のアクションにパラメータとして$ row ['ph_id']を送ろうとしていますか? –

+0

yourRouteName ???私はあなたが定義したカスタムルートを使いたい場合、 '$ yourRouteName'はオプションです。 –

+1

ZFを初めて使っています。そうでない場合は、 'null 'に設定します。 '$ row ['ph_id']'は 'p_s'パラメータとして設定されます(' 'p_s" => $ row ['ph_id'] 'を参照)。 – bububaba

関連する問題