Как добавить событие onChange для выбора тега в CakePHP? - PullRequest
0 голосов
/ 12 июля 2010

Я пытаюсь использовать AJAX для заполнения некоторых полей выбора, которые были автоматически сгенерированы с помощью formHelper CakePHP. Как добавить слушатель события onChange в поле выбора?

Ответы [ 2 ]

2 голосов
/ 12 июля 2010

Я решил это путем динамического добавления прослушивателя событий с помощью функции addEventListener() внутри функции window.onload().

1 голос
/ 13 июля 2010
 <?php $html->script('jquery-1.4.2.min',false); ?>
<script type="text/javascript">
    $(document).ready(function(){
        $('#ProductBrandId').change(function(){
            getfamily()
        });
    })

    function getfamily(){
        $.ajax({
                type : "GET",
                url  : "getfamily?id="+$('#ProductBrandId').val()&rid='+Math.random()/9.9,
                success : function(opt){
                    $('#familybox').html(opt)
                }
            })
    }
</script>

admin_getfamily.ctp

<?php
    $options = array(
                 'type' => 'select',
                 'options' => $family,
                 'label' => '',
                 'div' => '',
                 'style' => 'width:235px',
                 'error'=> false,

            );

     echo $form->input(
             'Product.family_id',
             $options
    );
?>

в контроллере

function admin_getFamily(){
        $this->layout = '';
        //debug($this->params['url']);
        $brand = $this->params['url']['id'];
        $family = array();
        if($brand > 0){
            $family = $this->Product->Brand->Family->find('list',array('fields' => 'Family.name','conditions' =>array('Family.brand_id' => $brand),'order' => 'Family.name'));
        }
        $this->set(compact('family'));
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...