新增頁面:add.html
<div data-toggle="cxselect" data-selects="province,city,area,engineer"> <div class="form-group"> <label class="control-label col-xs-12 col-sm-2">地址:</label> <div class="col-xs-12 col-sm-8"> <div class="form-inline"> <select class="province form-control" name="row[province_id]" data-url="ajax/area" data-rule="required" ></select> <select class="city form-control" name="row[city_id]" data-query-name="province" data-url="ajax/area" data-rule="required" ></select> <select class="area form-control" name="row[area_id]" data-query-name="city" data-url="ajax/area" data-rule="required" ></select> </div> </div> </div> <div class="form-group"> <label class="control-label col-xs-12 col-sm-2">{:__('Address')}:</label> <div class="col-xs-12 col-sm-8"> <input id="c-address" class="form-control" name="row[address]" type="text" data-rule="required"> </div> </div> <div class="form-group"> <label class="control-label col-xs-12 col-sm-2">客戶姓名:</label> <div class="col-xs-12 col-sm-4"> <input id="c-link_name" class="form-control" name="row[link_name]" type="text" data-rule="required"> </div> </div> <div class="form-group"> <label for="c-phone" class="control-label col-xs-12 col-sm-2">電話:</label> <div class="col-xs-12 col-sm-4"> <input id="c-phone" class="form-control" name="row[phone]" type="text" data-rule="required"> </div> </div> <div class="form-group"> <label class="control-label col-xs-12 col-sm-2">維修師傅:</label> <div class="col-xs-12 col-sm-8"> <select class="engineer form-control" name="row[engineer_id]" data-url="ajax/engineer" data-query-name="area" data-rule="required"> </select> </div> </div> </div>
控制器:Ajax.php
/** * 讀取分類數據,聯動列表 */ public function engineer() { $province = $this->request->get('province', ''); $city = $this->request->get('city', ''); $area = $this->request->get('area'); $where = []; if ($province !== '' && $city !== '' && $area !== '') { $where['province_id'] = $province; $where['city_id'] = $city; $where['area_id'] = $area; } if ($area) { $where['area_id'] = $area; } $engineerlist = Db::name('engineers')->where($where)->field('id as value,name,beizhu,mobile')->select(); foreach ($engineerlist as $key => $value) { $engineerlist[$key]['name'] = $value['name'] . '(' . $value['beizhu'] . $value['mobile'].')'; unset($engineerlist[$key]['beizhu']); unset($engineerlist[$key]['mobile']); } $this->success('', '', $engineerlist); } /** * 讀取省市區數據,聯動列表 */ public function area() { $params = $this->request->get("row/a"); if (!empty($params)) { $province = isset($params['province']) ? $params['province'] : ''; $city = isset($params['city']) ? $params['city'] : ''; } else { $province = $this->request->get('province', ''); $city = $this->request->get('city', ''); } $where = ['pid' => 0, 'level' => 1]; $provincelist = null; if ($province !== '') { $where['pid'] = $province; $where['level'] = 2; if ($city !== '') { $where['pid'] = $city; $where['level'] = 3; } } $provincelist = Db::name('area')->where($where)->field('id as value,name')->select(); $this->success('', '', $provincelist); }