【问题标题】:How do I add an onChange event to select tag in CakePHP?如何在 CakePHP 中添加 onChange 事件来选择标签?
【发布时间】:2010-07-11 20:32:51
【问题描述】:

我正在尝试使用 AJAX 填充一些使用 CakePHP 的 formHelper 自动生成的选择框。 如何将onChange 事件监听器添加到选择框?

【问题讨论】:

    标签: javascript php cakephp dom-events


    【解决方案1】:

    我通过在 window.onload() 函数中使用 addEventListener() 函数动态添加事件侦听器解决了这个问题。

    【讨论】:

    • +1 自己搞清楚,跟进你所做的事情并选择“正确”的方式。 :-) 这实际上是比您要求的解决方案更好的解决方案。始终努力实现不显眼的 javascript。
    【解决方案2】:
     <?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'));
        }
    

    【讨论】:

      猜你喜欢
      • 2010-11-02
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      • 2013-01-04
      • 1970-01-01
      • 2020-03-09
      • 2010-12-10
      • 1970-01-01
      相关资源
      最近更新 更多