泛微OA 刪除明細行&新增明細行&ajax呼叫webservice
阿新 • • 發佈:2020-12-15
技術標籤:jswebservice
1、刪除行JS
//清除明細表 function delete_mx_0() { var k = 0; //選中要刪除的明細行 jQuery("input[name^='check_node']").each(function () { jQuery(this).click(); k = k + 1; }); if (k > 0) { //刪除對應的明細 //這裡使用的是第一個明細按鈕呼叫的方法deleteRow0 deleteRow0(0,true); } }
2、新增行JS
jQuery(document).ready(function () { window.onload = function () { //繫結值變更事件 jQuery('#field7315').bindPropertyChange(function () { delete_mx_0(); var data = RequestWebService(); for(var i in data.ProjectListStage){ //遍歷ProjectListStage陣列時,會出現非數值的index //原因未知 if(isNaN(i)){continue; } addRow0(i); //插入找到的明細行 jQuery("input[id^='field7255_']").each(function (k,element) { if(k==i){ jQuery(element).val(data.ProjectListStage[i].Seqn) } }); jQuery("input[id^='field7256_']").each(function (k,element) { if(k==i){ jQuery(element).val(data.ProjectListStage[i].ProjStage); } }); } }); } //獲取明細資料,通過呼叫api介面返回json資料 //這裡使用的是webservice function RequestWebService() { var data; jQuery.ajax({ type: "get", async:false, url: "http://localhost:26819/AXWebService.asmx/GetProjectListStage?projno=" + jQuery('#field7315').val(), dataType: "json", success: function(result){ if(result.ret == "true"){ data = result.msg; } }, }); return data; } });
3、C# webservice配置
[WebMethod(Description = "獲取ProjectListStage(JSON)")] public void GetProjectListStage(string projno) { //跨域設定 Context.Response.AddHeader("Access-Control-Allow-Origin", "*"); //...... //返回json Context.Response.Write(ret); Context.Response.End(); } //web.config設定 <system.web> <webServices> <protocols> <add name="HttpPost" /> <add name="HttpGet" /> </protocols> </webServices> </system.web> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <directoryBrowse enabled="false" /> </system.webServer>