[英]How do I add an onChange event to select tag in CakePHP?
I am trying to use AJAX to populate some select boxes that were auto-generated using CakePHP's formHelper.我正在尝试使用 AJAX 填充一些使用 CakePHP 的 formHelper 自动生成的选择框。 How do I add the onChange
event listener to the select box?如何将onChange
事件侦听器添加到选择框?
我通过在window.onload()
函数中使用addEventListener()
函数动态添加事件侦听器来解决它。
<?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 admin_getfamily.ctp
<?php
$options = array(
'type' => 'select',
'options' => $family,
'label' => '',
'div' => '',
'style' => 'width:235px',
'error'=> false,
);
echo $form->input(
'Product.family_id',
$options
);
?>
in the controller在控制器中
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'));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.