TP5.1 如何实现联动查询
功能描述:
实现通过单位信息自动加载岗位代码
1. 数据库
Unit数据表(单位表)
单位ID | 单位名称 | 添加时间 | 更新时间 |
id | name | addtime | updatetime |
Station数据表(岗位表)
岗位ID | 单位ID | 岗位名称 | 岗位代码 | 添加时间 | 更新时间 |
id | unit_id | name | sta_num | addtime | updatetime |
2. HTML页面
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">
报考单位
<div class="layui-input-inline" style="width: 520px;">
<select name="bkdw" lay-verify="required" class="layui-select" lay-search="" lay-skin="select" lay-filter="bkdw" >
<option value="">请选择单位
{volist name="unit" id="v"}
<option value="{$v.id}">{$v.name}
{/volist}
<div class="layui-inline">
<label class="layui-form-label">报考岗位代码
<div class="layui-input-inline" >
<select name="gwnum" lay-verify="required" lay-search="" lay-skin="select" lay-filter="gwnum"id="gwnum">
<option value="">请选岗位代码
3. Script
//监听单位选择
form.on('select(bkdw)',
function(data) {
//alert(data.value);
$('#gwnum').html('请选岗位代码');
$.ajax({
url: "{:url('Entered/getchildarea')}",
data: {
parent_id: data.value
},
type: 'POST',
dataType: 'json',
success: function(data1) {
if (data1.error == 0) {
$("#gwnum").append(data1.option);
form.render('select'); //刷新select选择框渲染
}
}
});
});
4. controller页
public function index(){
//查找单位信息
$unit = UnitModel::all();
$this->assign('unit',$unit);
return $this->fetch();
}
//获取岗位代码
public function getchildarea() {
$parent_id = (int)input('post.parent_id');
$area = StationsModel::where('unit_id',$parent_id)->select();
if ($area) {
$option = '请选择---';
foreach ($area as $key => $value) {
$option .= '