1. 程式人生 > >EasyUI+JavaScript 新增和修改彈出框按鈕

EasyUI+JavaScript 新增和修改彈出框按鈕

            寫這篇文章只是想吐槽一下在做三個彈出框按鈕的心酸史,為什麼只寫兩個呢?因為之前看到過別人寫了一個刪除的,所以我只寫剩下的兩個吧!現在做的系統總是涉及到增刪改的總會上面三個好看的按鈕,下面一個好看的DataGrid。

       

新增和修改彈出框:

       首先要載入我們做好的新增和編輯彈出框。

<span style="font-size:14px;"><div id="addTemplate">
    @* 載入新增流程對話方塊 *@
    @{Html.RenderPartial("../../Views/FlowConfig/AddFlowPartial");}
</div>

<div id="editTemplate">
    @* 載入修改流程對話方塊 *@
    @{Html.RenderPartial("../../Views/FlowConfig/EditFlowPartial");}
</div></span>

JS檔案:

      在點選新增或者修改按鈕的時候把自己的彈出框顯示出來。例新增:

<span style="font-size:14px;">//點選新增按鈕,觸發事件
    $("#add").click(function () {
        $('#diaAdd').dialog('open').dialog({
            title: "新增流程",
            width: 400,
            height: 300,
            iconCls: 'icon-add',                 //彈出框圖示
            modal: true,
        });  
    });</span>

修改不同的是要同時顯示選中的那一行資料:
<span style="font-size:14px;">//點選修改按鈕,觸發事件
    $("#edit").click(function () {
        var row = $('#dg').datagrid('getSelected');
        if (row) {
            $('#diaEdit').dialog('open').dialog({
                title: "編輯流程",
                width: 350,
                height: 250,
                modal: true
            });
            $("#txtID").val(row.FlowID);
            $("#txtName").val(row.Name);   
            $("#txtSort").val(row.Sort);
            $("#txtState").val(row.IsUse);
            $("#txtUrl").val(row.Url);
        } else {
            $.messager.alert("提示", "請選中要編輯的行!");
        }
    })</span>
顯示後的結果:

         
         接下來同樣是寫在js指令碼中的,彈出框的確定按鈕事件。即將新增或修改的資料傳給Controller,然後傳給後臺更新到資料庫。

<span style="font-size:14px;"><span style="font-size:14px;">function AddFlow() {
    alert($("#txtFlowName").val());
    $.ajax({
        type: "POST",
        url: "/FlowConfig/AddFlowReload",
        data: "txtFlowName=" + $("#txtFlowName").val() + "&txtFlowSort=" + $("#txtFlowSort").val() + "&txtFlowState=" + $("#txtFlowState").val(),
        success: function () {          
            $("#dg").datagrid("reload");
            $.messager.alert("提示!", "資訊新增成功!");
        }
    })
    $('#diaAdd').dialog('close');
}

</span></span>
<span style="font-size:14px;"><span style="font-size:14px;">//修改流程確定按鈕
function ModifyFlow() {
    //alert('123');
    $.ajax({
        type: "POST",
        url: "/FlowConfig/ModifyFlowReload",
        data: "FlowID=" + $("#txtID").val() + "&txtUrl=" + $("#txtUrl").val() + "&txtName=" + $("#txtName").val() + "&txtSort=" + $("#txtSort").val() + "&txtState=" + $("#txtState").val(),
        success: function (data) {
            $.messager.alert("提示", "編輯資訊成功!");
            $("#dg").datagrid("reload");
        }
    })
    $('#diaEdit').dialog('close');
}</span></span>
        這樣就可以新增和修改DataGrid中的資料了。

        

吐槽一下:   

         最開始實現的是新增彈出框,覺得沒有什麼,後來做刪除,發生了很多問題,找做出來的人幫忙結果不知道是什麼問題,於是我任務刪除是最難的。後來在自己的努力下,終於實現了,接著做修改,但是修改依然是有問題,怎麼也不顯示選中的那條資料,於是我又認為修改是最難的。後來三個按鈕的程式碼都寫好的時候,它們集體罷工了,於是我就光榮的和三個按鈕奮鬥了一個晚上,終於實現了,於是我認為它們都不難。難的是自己怎麼靜下心來不煩躁的去一個個解決它們。

總結:

         縱觀整個解決問題的過程中,總是在說“沒問題啊!”“為什麼呢?”,其實有時候確實程式碼沒有問題,也許連累它的不是這部分,可能一些引用或者其他相關的會有所影響。我通常有個毛病,很長時間也調不出來的時候會非常的煩躁,脾氣也大。所以總結了個經驗,每當這個時候就應該停下來做點別的,或者去幫助一下別人,也許回來的時候心情好了就出來了。往往解決問題總是在一念之間。當你在除錯的時候不知道哪裡的問題,而且還不報錯的時候才是最抓狂的時候,這個時候要是出來一個錯誤也是件讓人興奮的事兒。

         偶然聽到師姐的一句話:知道為什麼的問題都不是問題,所以繼續除錯吧!