的方法如下:
<select id="parentMenu">
<option value="">请选择</option>
<option value="1">菜单1</option>
<option value="2">菜单2</option>
<option value="3">菜单3</option>
</select>
<select id="childMenu">
<option value="">请选择</option>
</select>
$(document).ready(function() {
$('#parentMenu').change(function() {
var parentId = $(this).val();
$.ajax({
url: '菜单控制器的URL',
type: 'POST',
dataType: 'json',
data: {parentId: parentId},
success: function(data) {
// 清空子菜单下拉框
$('#childMenu').empty();
// 填充子菜单下拉框
$.each(data, function(key, value) {
$('#childMenu').append('<option value="' + value.id + '">' + value.name + '</option>');
});
}
});
});
});
class MenuController extends CI_Controller {
public function getChildMenu() {
$parentId = $this->input->post('parentId');
// 根据父菜单ID查询子菜单数据,这里假设使用数据库查询
$childMenuData = $this->db->get_where('child_menu', array('parent_id' => $parentId))->result_array();
// 返回JSON格式的子菜单数据
echo json_encode($childMenuData);
}
}
$route['menu/getChildMenu'] = 'menuController/getChildMenu';
至此,使用jQuery,JSON和AJAX,codeigniter填充子菜单下拉菜单的过程完成。当父菜单选择发生变化时,通过AJAX请求获取相应的子菜单数据,并将数据填充到子菜单下拉框中。这种方法可以实现动态加载子菜单,提升用户体验。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云数据库MySQL版、腾讯云对象存储(COS)。
腾讯云云服务器(CVM):提供可扩展的云服务器,适用于各种规模的应用程序和业务场景。详情请参考:腾讯云云服务器
腾讯云数据库MySQL版:提供高性能、可扩展的MySQL数据库服务,适用于各种Web应用和大型企业级应用。详情请参考:腾讯云数据库MySQL版
腾讯云对象存储(COS):提供安全、稳定、低成本的云端存储服务,适用于存储和处理各种类型的数据。详情请参考:腾讯云对象存储(COS)
领取专属 10元无门槛券
手把手带您无忧上云