ajax编辑信息和删除信息

1、控制器代码

/**
 * 编辑家教信息
 */
public function gengxin(Request $request)
{
    $id = $request->id;
    $article = Tutor::with('photo')->find($id);
    $article->update([
        'user_id' => Auth::user()->id,
        'title' => $request->title,
        'type' => $request->type,
        'identity_id' => $request->identity_id,
        'stage' => implode(',', $request->stage),
        'subject' => implode(',', $request->subject),
        'city' => $request->city,
        'area' => $request->area,
        'street' => $request->street,
        'description' => $request->description,
        'price' => $request->price,
        'photo_id' => $request->photo_id,
        'name' => $request->name,
        'mobile' => $request->mobile,
    ]);

}

/**
 * 删除信息
 */
public function destroy($id)
{
    Tutor::destroy($id);
}复制代码

2、html代码

<div class="info_list">

    @foreach($tutors as $tutor)
        <div class="info_list_c" data-id="{{$tutor->id}}">
            <input type="hidden" id="hidden" value="{{$tutor->id}}">
            <input type="hidden" id="type" value="{{$tutor->type}}">
            <input type="hidden" id="identity_id" value="{{$tutor->identity_id}}">
            <input type="hidden" id="stage" value="{{$tutor->stage}}">
            <input type="hidden" id="subject" value="{{$tutor->subject}}">
            <input type="hidden" id="description" value="{{$tutor->description}}">
            <input type="hidden" id="price" value="{{$tutor->price}}">
            <input type="hidden" id="photo" value="{{$tutor->photo->image or ''}}">
            <input type="hidden" id="photo_id" value="{{$tutor->photo_id}}">
            <input type="hidden" id="city" value="{{$tutor->city}}">
            <input type="hidden" id="area" value="{{$tutor->area}}">
            <input type="hidden" id="street" value="{{$tutor->street}}">
            <input type="hidden" id="name" value="{{$tutor->name}}">
            <input type="hidden" id="mobile" value="{{$tutor->mobile}}">

            <div class="info_list_title"><a href="/jiajiao/show/{{$tutor->id}}">{{$tutor->title}}</a></div>
            <button class="edit_button" style="cursor: pointer;">编辑信息</button>
            <button style="cursor: pointer;" class="delete">删除信息</button>
        </div>
    @endforeach

</div>复制代码

编辑模态框中要写隐藏域。弹出验证信息

@if(count($errors) > 0)
    <script>
        layer.msg('{{$errors->first()}}', {icon: 5, time: 2000, skin: 'winning-class'})
    </script>
@endif

<input type="hidden" id="edit_id">复制代码

3、js代码

/*点击button显示model*/
$(".edit_button").click(function () {
    $(".model").show();
    //获取表单原有值
    var id = $(this).siblings("#hidden").val();
    var title = $(this).siblings('.info_list_title').text();
    var type = $(this).siblings('#type').val();
    var identity_id = $(this).siblings('#identity_id').val();
    var stage = $(this).siblings('#stage').val();
    var subject = $(this).siblings('#subject').val();
    var description = $(this).siblings('#description').val();
    var price = $(this).siblings('#price').val();
    var photo = $(this).siblings('#photo').val();
    var photo_id = $(this).siblings('#photo_id').val();
    var city = $(this).siblings('#city').val();
    var area = $(this).siblings('#area').val();
    var street = $(this).siblings('#street').val();
    var name = $(this).siblings('#name').val();
    var mobile = $(this).siblings('#mobile').val();

    //设置编辑值
    $("#edit_id").val(id);
    $("#title").val(title);
    /*默认选中单选框*/
    $(".type").each(function () {
        if ($(this).val() == type) {
            $(this).attr('checked', "checked")
        }
    });
    $(".identity_id").each(function () {
        if ($(this).val() == identity_id) {
            $(this).attr('checked', "checked")
        }
    });
     /*默认选中复选框*/
   $.each(stage.split(','), function (i, item) {
        $("input[type=checkbox][value=" + item + "]").attr("checked", "checked");
    });
    $.each(subject.split(','), function (i, item) {
        $(".subject").each(function () {
            if ($(this).val() == item) {
                $(this).attr("checked", "checked");
            }
        })
    });
    $("#description1").val(description);
    $("#price1").val(price);
    $("#img_show").attr("src", photo);
    $("#photo_id1").val(photo_id);
    $("#select_shi").val(city);
    $("#select_qu option").remove();
    $("#select_qu").append("<option>" + area + "<option>");
    $("#select_zhen option").remove();
    $("#select_zhen").append("<option>" + street + "<option>");
    $("#name1").val(name);
    $("#mobile1").val(mobile);
    // console.log(photo_id);
});
//执行编辑
$(".submit").click(function () {
    var id = $("#edit_id").val();
    var title = $("#title").val();
    var type = $(".type:checked").val();
    var identity_id = $(".identity_id:checked").val();
    var description = $("#description1").val();
    var price = $("#price1").val();
    var photo_id = $("#photo_id1").val();
    var city = $("#select_shi").val();
    var area = $("#select_qu").val();
    var street = $("#select_zhen").val();
    var name = $("#name1").val();
    var mobile = $("#mobile1").val();
    var stage = [];
    $(".stage:checked").each(function (i) {//把所有被选中的复选框的值存入数组
        stage[i] = $(this).val();
    });
    var subject = [];
    $(".subject:checked").each(function (i) {//把所有被选中的复选框的值存入数组
        subject[i] = $(this).val();
    });

    //手机号正则
    var mobile2 = /^13[\d]{9}$|^14[5,7]{1}\d{8}$|^15[^4]{1}\d{8}$|^17[0,6,7,8]{1}\d{8}$|^18[\d]{9}$/;

    if (title.length == "") {
        layer.msg("标题不能为空!", {icon: 5, time: 2000, skin: 'winning-class'});
        return false;
    }
    if (type.length == "") {
        layer.msg("发布类型!", {icon: 5, time: 2000, skin: 'winning-class'});
        return false;
    }
    if (identity_id.length == '') {
        layer.msg("身份不能为空!", {icon: 5, time: 2000, skin: 'winning-class'});
        return false;
    }
    if (stage.length == '') {
        layer.msg("辅导阶段不能为空!", {icon: 5, time: 2000, skin: 'winning-class'});
        return false;
    }
    if (subject.length == '') {
        layer.msg("辅导科目不能为空!", {icon: 5, time: 2000, skin: 'winning-class'});
        return false;
    }
    if (description.length == '') {
        layer.msg("服务介绍不能为空!", {icon: 5, time: 2000, skin: 'winning-class'});
        return false;
    }
    if (price.length == '') {
        layer.msg("价格不能为空!", {icon: 5, time: 2000, skin: 'winning-class'});
        return false;
    }
    if (photo_id.length == '') {
        layer.msg("图片不能为空!", {icon: 5, time: 2000, skin: 'winning-class'});
        return false;
    }
    if (city.length == '') {
        layer.msg("地市不能为空!", {icon: 5, time: 2000, skin: 'winning-class'});
        return false;
    }
    if (area.length == '') {
        layer.msg("地区不能为空!", {icon: 5, time: 2000, skin: 'winning-class'});
        return false;
    }
    if (name.length == '') {
        layer.msg("联系人不能为空!", {icon: 5, time: 2000, skin: 'winning-class'});
        return false;
    }
    if (!mobile2.test(mobile)) {
        layer.msg('手机号格式不正确!', {icon: 5, time: 2000, skin: 'winning-class'});
        return false;
    }

    $.ajax({
        type: 'post',
        url: "/user/gengxin/" + id,
        data: {
            id: id,title:title, type: type, identity_id: identity_id, description: description,
            price: price, photo_id: photo_id, city: city, area: area, street: street,
            name: name, mobile: mobile, stage: stage, subject: subject
        },
        dataType: 'json',
        success: function (data) {
            window.location.reload();return false;
        }
    });
    // console.log(photo_id,stage, subject);
    // return false;
});

/*点击docuemnt事件隐藏model*/
$(".model").click(function () {
    $(".model").hide();
});
/*对model_c事件阻止冒泡*/
$(".model_c").click(function (e) {
    e.stopPropagation();
})

/*删除信息*/
$('.delete').click(function () {
    var id = $(this).parents('.info_list_c').data('id');
    var _this = $(this);
    $.ajax({
        type: 'DELETE',
        url: "/user/delete/" + id,
        data: {id: id},
        success: function () {
            _this.parents('.info_list_c').fadeOut(400);
        }
    });
    return false;
})复制代码

4、路由配置

Route::get('/user','JiajiaoController@user');
Route::post('/user/gengxin/{id}','JiajiaoController@gengxin');
Route::delete('/user/delete/{id}','JiajiaoController@destroy');复制代码



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值