如何在Ajax Success上隐藏多个div

时间:2015-08-20 14:29:20

标签: javascript jquery html css ajax

我试图通过代码

隐藏Ajax Success上的2 div
 $(".editButton").click(function () {
        var self = this;
        var membershipid = $(this).attr('id');
        $.ajax({
            type: 'POST',
            url: '@Url.Action("GetMembershipDetail","User")',
            data: { "MembershipID": membershipid },
            success: function (data) {
                $('#ddlStoreUpdate').val(data["fk_Store_ID"]);
                $('#TxtTitleUpdate').val(data["MembershipTitle"]);
                $('#TxtDescriptionUpdate').val(data["MembershipDescription"]);
                $('#TxtTimeFrameUpdate').val(data["MembershipTimeFrame"]);
                $('#TxtMembershipMinUpdate').val(data["MembershipMinVisit"]);
                $('#chkUpdate').prop('checked', data["MembershipGroundLevel"]);
                $('#HiddenMembershipID').val(membershipid);

                if (data["MembershipGroundLevel"] == true)
                {
                    alert("True");
                    $("#TxtTimeFrameUpdate").val(0);
                    $(self).closest("#RowTimeFrameUp").hide()
                    $("#TxtMembershipMinUp").val(0);
                    $(self).closest("#RowMinFrameUp").hide()
                }
                else
                {
                    alert("false");
                    $("#RowTimeFrame").show("slow");
                    $("#RowMinFrame").show("slow");
                    var storeid = $("#ddlStore").val();
                    $.ajax({
                        type: 'POST',
                        dataType: 'json',
                        url: '@Url.Action("GetTimeFrame","User")',
                        data: { 'StoreID': storeid },
                        success: function (data) {
                            $("#TxtTimeFrame").val(data);
                        },
                        error: function (error) {
                            alert(JSON.stringify(error));
                        }
                    });
                }
            },
            error: function (data) {
                alert(JSON.stringify(data));
            }
        })
        $("#myModalUpdate").modal('show');
    });

如果条件运作良好,但Div(s)并不隐藏 如果我从第二个div中删除$(self).closest(),则第一个div隐藏得很好,问题是多个div

2 个答案:

答案 0 :(得分:2)

您可以使用class隐藏它,如下所示:

$(".resetValueTo0").val(0); 
$(".divToHide").hide();

因此,您不需要这样做:

$("#TxtTimeFrameUpdate").val(0);
$(self).closest("#RowTimeFrameUp").hide()
$("#TxtMembershipMinUp").val(0);
$(self).closest("#RowMinFrameUp").hide()

答案 1 :(得分:0)

您可能想尝试一下:

替换此代码:

$("#TxtTimeFrameUpdate").val(0);
$(self).closest("#RowTimeFrameUp").hide()
$("#TxtMembershipMinUp").val(0);
$(self).closest("#RowMinFrameUp").hide()

对此:

$("#TxtTimeFrameUpdate").val(0);
$(self).closest("#RowTimeFrameUp").each(function(){
   $(this).hide();
});
$("#TxtMembershipMinUp").val(0);
$(self).closest("#RowMinFrameUp").each(function(){
   $(this).hide();
});