脚本禁用了我桌面上的一些组件

时间:2015-10-15 06:47:33

标签: javascript jquery

这就是我的网页的样子: enter image description here

从照片中我可以看到我在右上角搜索,在右下角我有大量的页面等。

但是当我在这里添加另一个项目时点击“Lägghenny”并由于某种原因添加项目我的页面最终会像这样: http://puu.sh/kKSZz/387c71f487.png

从表格“Breaks”可以看出,搜索字段被删除,页面也被删除。当我选择编辑或删除我已经添加的项目时,会发生同样的事情。

这是我的观点:

<div id="tabs-current">
<div id="ConsultantTimes">
    @{
        Html.RenderAction("ConsulantTimes");
    }
</div>
    <a href="javascript:OpenDialog()" class="btn btn-primary">
        Lägg till ny
    </a>
</div>

可以看出,该表是局部视图,现在是:

<table class="table table-striped table-bordered table-hover" id="sample_1">
<thead>
    <tr>
        <th>Projekt</th>
        <th>Mitt Datum</th>
        <th>%</th>
        <th>Projektdatum</th>
    </tr>
</thead>
<tbody>
    @foreach (var project in ViewData["times"] as List<ConsultantProjectTime>)
    {
        <tr>
            <td>
                <a href="javascript:OpenDialog2('@project.ID','@project.FK_ProjectID','@project.StartDate.ToShortDateString()','@project.EndDate.ToShortDateString()','@project.Pct');">
                    @project.Project.ProjectName
                </a>
            </td>
            <td>@(project.StartDate.ToShortDateString() + " - " + project.EndDate.ToShortDateString())</td>
            <td>@(project.Pct)%</td>
            <td>
                @if (project.Project.StartDate.HasValue && project.Project.EndDate.HasValue)
                {
                    @(project.Project.StartDate.Value.ToShortDateString() + " - " + project.Project.EndDate.Value.ToShortDateString())
                }
            </td>
        </tr>
    }
</tbody>

这是我选择添加另一个项目时运行的脚本:

 $("#dialog").dialog({
        bgiframe: true,
        autoOpen: false,
        height: 220,
        width: 305,
        modal: true,
        buttons: {
            'Spara': function() {

                if (!validate()) {
                    alert('Procent måste vara mellan 0-100');
                    return false;
                }

                locstring = "@(Url.Action("Index"))/Update/?";

                locstring += '&projectId=' + $('#projectList').val();
                locstring += '&startDate=' + $('#startDate').val();
                locstring += '&endDate=' + $('#endDate').val();
                locstring += '&pct=' + $('#pct').val();

                var sid = $('#sId').text();
                if (sid != "") {
                    locstring += '&id=' + sid;
                    //locstring = "/Delete/" + sid;
                }
                //window.location = locstring;

                $.ajax({
                    type: "GET",
                    url: locstring,
                    dataType: "html",
                    success: function(data) {
                        //alert(locstring);
                        $('#dialog').dialog('close');
                        ReloadTable();
                    }
                });


            },
            'Avbryt': function() {
                $(this).dialog('close');
            },
            'Ta bort': function() {
                var sid = $('#sId').text();
                if (sid != "") {
                    locstring = "@(Url.Action("Index"))/Delete/" + sid;
                    //locstring += '&delete=true&id=' + sid;

                    $.ajax({
                        type: "GET",
                        url: locstring,
                        dataType: "html",
                        success: function(data) {
                            $('#dialog').dialog('close');
                            ReloadTable();
                        }
                    });

请注意,当发生这种情况时,我的控制台中没有错误。

发现错误但不确定如何解决,这是我的ReloadTable函数:

        function ReloadTable() {
        if (navigator.appName == "Microsoft Internet Explorer") {
            //alert('suck..');
            window.location.reload();
        } else {

            $.ajax({
                type: "GET",
                url: '@(Url.Action("ConsulantTimes"))',
                dataType: "html",
                success: function(data) {
                    $('#dialog').dialog('close');
                    $('#ConsultantTimes').html(data);
                }
            });
        }
    }

1 个答案:

答案 0 :(得分:0)

您正在做的是替换#ConsultantTimes的全部内容并将其替换为data变量。请改为使用$( "sample_1" ).replaceWith(data);,或者可以使用前置或附加。