Вызов действия контроллера через замену выбора, но не через Ajax (Zend Framework) - PullRequest
0 голосов
/ 29 марта 2012

У меня есть выбор HTML с параметрами в моих представлениях. onchange Я хочу вызвать действие моего контроллера. Важно: Я не собираюсь делать это через Ajax, потому что onchange весь мой модуль меняется, поэтому я хочу обновлять страницу каждый раз при замене.

                   <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 );
            }

действие, которое я вызываю, вызывается как через ajax, так и normal, на этот раз я называю его normal.Любая идея будет полезна.

1 Ответ

2 голосов
/ 29 марта 2012
<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();
});
...