ajax的应用

<select class="form-control slide" name="select" id="" style="width:100px">
<volist name="slide" id="vo" key="k"> <option value="{$vo.id}" >{$vo.member}</option> </volist> </select> <form class="js-ajax-form" method="post"> <table class="table table-hover table-bordered table-list"> <thead> <tr> <th width="16"> <label> <input type="checkbox" class="js-check-all" data-direction="x" data-checklist="js-check-x"> </label> </th> <th width="100">ID</th> <th>公司名称</th> <th>总经理</th> <th width="80">协会职务</th> <th width="160">信息化平台</th> <!-- <th width="80">项目记分</th> --> <th width="80">企业记分</th> <th width="120">操作</th> </tr> </thead> <tbody id="tbody"> <volist name="list" id="vo" key="k"> <tr> <th width="16"> <label> <input type="checkbox" class="js-check-all" data-direction="x" data-checklist="js-check-x"> </label> </th> <th width="100">{$k}</th> <th>{$vo.name}</th> <th>{$vo.manager}</th> <th width="180">{$vo.duty}</th> <th width="150">{$vo.internet}</th> <!-- <th><if condition="empty($vo.total_score) OR ($vo.total_score==-1000)">未评分<else/>{$vo.total_score}</if></th> --> <th><if condition="$vo.reduce25 eq 1">出现重大事故评分为0<elseif condition="$vo.total_score eq 0"/>未评分 <else/>{$vo.total_score}</if></th> <th width="180"><a href="{:url('credit/member_pay',array('id'=>$vo['id']))}">缴费</a>|<a href="{:url('member/member_mod',array('id'=>$vo['id']))}">修改</a></th> </tr> </volist> </tbody>

  在这里我想实现的功能是点击上方单选框从数据库中把相应的数据检索出来

 public function index()
    {	
    	$slide=Db::name('DrtMember')->order('id','asc')->select();
       //链表查询
     
        $list=$this->member->memberIndex('member_status',1);
        // 获取分页显示
        $page = $list->render();
        $this->assign([
            'slide'=>$slide,
            'page'=>$page,
            'list'=>$list
        ]);

        return $this->fetch();
    }

这是我控制上方单选框的控制器中的方法

public function member_select(){
    	
    		$id=$this->request->post();
            $member=$this->member->memberFind($id['id']);
            $findname=$member['member'];
    		switch ($id['id']) {
    			case 1:
    				$list=$this->member->memberFindAll();
                    echo $list;
    				break;
    			case 2:
    				$list=$this->member->memberSelect('member_status',1);
                     echo $list;
    				break;
    			default :
                    $list=$this->member->memberSelect('duty',"$findname");
                     echo $list;
                    break;
    		}

    }
<?php
// +----------------------------------------------------------------------

// | Author: drt9527 <1017002145@qq.com>
// +----------------------------------------------------------------------
namespace app\credit\model;

use think\Model;
use think\Cache;
use think\Db;

class DrtMemberModel extends Model
{   
    public function memberFindAll()
    {
        $result=Db::view('DrtCompany')->view('DrtCompanyCredit','total_score,reduce25','DrtCompanyCredit.pid=DrtCompany.id','LEFT')->paginate(10);
        $result=json_encode($result);
        return $result;
    }
	public function memberFind($id)
    {
       $result=$this->where('id',$id)->find();
       return $result;
    }
    public function memberIndex($key,$value)
    {
        $result=Db::view('DrtCompany')->view('DrtCompanyCredit','total_score,reduce25','DrtCompanyCredit.pid=DrtCompany.id','LEFT')->where($key,$value)->paginate(10);
        return $result;
    }
    public function memberSelect($key,$value)
    {
        $result=$this->memberIndex($key,$value);
        $result=json_encode($result);
        return $result;
    }
}

这是控制下方显示内容的方法以及在model层封装的数据

 $(".slide").change(function(){ 
        $("#tbody").empty();
        var url="{:url('credit/member/member_select')}";
        var id=$(this).val();
        // alert(id);
        $.post(url,{'id':id},function(res){
            res=res.data;
            
            for(var i=0;i<res.length;i++){
                $("#tbody").append(`<tr><th width="16">
                <label>
                <input type="checkbox" class="js-check-all" data-direction="x" data-checklist="js-check-x">
                </label>
            </th>
            <th width="100">${i+1}</th>
            <th>${res[i].name}</th>
            <th>${res[i].manager}</th>
            <th width="180">${res[i].duty}</th>
            <th width="150">${res[i].internet}</th>
            <th><if condition="$vo.reduce25 eq 1">出现重大事故评分为0<elseif condition="$vo.total_score eq 0"/>未评分
                        <else/>{$vo.total_score}</if></th>
            <th width="180"><a href="{:url('credit/member_pay',array('id'=>$vo['id']))}">缴费</a>|<a href="{:url('member/member_mod',array('id'=>$vo['id']))}">修改</a></th>
            </tr><tr>`);
            }
        },'json');

    });


整个过程是通过ajax将请求发送到相应的控制器中的方法 在该方法中获得数据通过echo或dump等输出函数输出到前台再用js将数据写到前台

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值