JavaScript eval定义动态变量名及赋值教程
CSDN展示内容补全,可点击查看全代码
/*简单代码,看懂eval动态变量定义的创建和使用*/ <html> <head> <script type="text/javascript"> eval("var input_id1;"); input_id1 = 100; alert(input_id1); </script> </head> </html>
/*ASP.NET eval更强大的使用案例*/ /// <summary> /// 后台定义动态变量名 /// </summary> public void BindAutoComplete(string AjaxCompleteID, string AjaxCompleteText, string Placeholder, string ColArray, string TableName, string SelectorString, string SortExpression, string FilterString, string FilterColumnString, int TopCount, string Width) { ViewState["ucAjaxComplete_ColArray_" + this.AjaxComplete.ClientID] = ColArray; ViewState["ucAjaxComplete_TableName_" + this.AjaxComplete.ClientID] = Utility.Web.Security.DESEncrypt(TableName); ViewState["ucAjaxComplete_SelectorString_" + this.AjaxComplete.ClientID] = Utility.Web.Security.DESEncrypt(SelectorString); ViewState["ucAjaxComplete_SortExpression_" + this.AjaxComplete.ClientID] = Utility.Web.Security.DESEncrypt(SortExpression); ViewState["ucAjaxComplete_FilterString_" + this.AjaxComplete.ClientID] = Utility.Web.Security.DESEncrypt(FilterString); ViewState["ucAjaxComplete_FilterColumnString_" + this.AjaxComplete.ClientID] = Utility.Web.Security.DESEncrypt(FilterColumnString); ViewState["ucAjaxComplete_TopCount_" + this.AjaxComplete.ClientID] = TopCount; ViewState["ucAjaxComplete_Width_" + this.AjaxComplete.ClientID] = Width; ViewState["ucAjaxComplete_AjaxCompleteText_" + this.AjaxComplete.ClientID] = AjaxCompleteText; ViewState["ucAjaxComplete_Placeholder_" + this.AjaxComplete.ClientID] = Placeholder; ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID] = "ajaxComplete" + AjaxCompleteID; ViewState["ucAjaxComplete_CallBackFunctionName_" + this.AjaxComplete.ClientID] = "ajaxComplete" + AjaxCompleteID + "CallBack"; ViewState["ucAjaxComplete_KeyTabCallBackFunctionName_" + this.AjaxComplete.ClientID] = "ajaxComplete" + AjaxCompleteID + "KeyTabCallBack"; }
/// <summary> /// JavaScript读取后台变量并写入到eval模块中 /// JavaScript 小知识点:JavaScript换行拼接使用反斜杠 /// </summary> <script type="text/javascript"> eval("var <%=ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID]%>;"); $(document).ready(function () { var strAjaxComplete = (" var col = [], coltext = "<%=ViewState["ucAjaxComplete_ColArray_" + this.AjaxComplete.ClientID]%>", colsplit; colsplit = coltext.split(","); for (var i = 0; i < colsplit.length; i++) { col.push(colsplit[i]); } <%=ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID]%> = $("#<%=this.AjaxComplete.ClientID%>").tautocomplete({ width: "<%=ViewState["ucAjaxComplete_Width_" + this.AjaxComplete.ClientID]%>", placeholder: "<%=ViewState["ucAjaxComplete_Placeholder_" + this.AjaxComplete.ClientID]%>", cleanspelchar: true, barcode:false, columns: col, data: function () { var filterData = []; $.ajax({ url: "/WebServices/AutoComplete.asmx/GetAjaxCompleteData", type: "POST", dataType: "json", async: false, data: { Col_1: "<%=ViewState["ucAjaxComplete_TableName_" + this.AjaxComplete.ClientID]%>", Col_2: "<%=ViewState["ucAjaxComplete_SelectorString_" + this.AjaxComplete.ClientID]%>", Col_3: "<%=ViewState["ucAjaxComplete_SortExpression_" + this.AjaxComplete.ClientID]%>", Col_4: "<%=ViewState["ucAjaxComplete_FilterString_" + this.AjaxComplete.ClientID]%>", Col_5: "<%=ViewState["ucAjaxComplete_FilterColumnString_" + this.AjaxComplete.ClientID]%>", Col_6: <%=ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID]%>.searchdata(), Col_7: <%=ViewState["ucAjaxComplete_TopCount_" + this.AjaxComplete.ClientID]%> }, success: function (data) { for (var i = 0; i < data.length; i++) { filterData.push(data[i]); } } }); return filterData; }, onchange: function () { <%=ViewState["ucAjaxComplete_CallBackFunctionName_" + this.AjaxComplete.ClientID]%>(<%=ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID]%>); }, onkeytab: function () { <%=ViewState["ucAjaxComplete_KeyTabCallBackFunctionName_" + this.AjaxComplete.ClientID]%>(<%=ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID]%>); } }); <%=ViewState["ucAjaxComplete_AjaxCompleteID_" + this.AjaxComplete.ClientID]%>.setdata("<%=ViewState["ucAjaxComplete_AjaxCompleteText_" + this.AjaxComplete.ClientID] %>"); "); eval(strAjaxComplete); }); </script>
/// <summary>
/// JavaScript编译后代码 /// </summary> <script type="text/javascript"> eval("var ajaxComplete;"); $(document).ready(function () { var strAjaxComplete = (" var col = [], coltext = "[物资名称],[规格],[条码]", colsplit; colsplit = coltext.split(","); for (var i = 0; i < colsplit.length; i++) { col.push(colsplit[i]); } ajaxComplete = $("#ctl00_cph_ucInDepotEdit_ucAjaxAutocompleteTable_AjaxComplete").tautocomplete({ width: "300px", placeholder: "请输入物资名称、规格或条码查询", cleanspelchar: true, barcode:false, columns: col, data: function () { var filterData = []; $.ajax({ url: "/WebServices/AutoComplete.asmx/GetAjaxCompleteData", type: "POST", dataType: "json", async: false, data: { Col_1: "6E3A20C557A03736AF68C38C991B2454C14D3B264E98D297", Col_2: "0B982EC405AA874DB04ED8057719223FF996393B13F1259C24A56B8E40233DF659E78160C6B35AC2991409C9B01FDABD", Col_3: "0B982EC405AA874D9BE69B1002DF9D65", Col_4: "B71AE2D1C2C554260035E8E015084A8427209F3167FAE41232C3319177633C05", Col_5: "6853E3874A3A6B264C1DC36088095A25", Col_6: ajaxComplete.searchdata(), Col_7: 10 }, success: function (data) { for (var i = 0; i < data.length; i++) { filterData.push(data[i]); } } }); return filterData; }, onchange: function () { ajaxCompleteCallBack(ajaxComplete); }, onkeytab: function () { ajaxCompleteKeyTabCallBack(ajaxComplete); } }); ajaxComplete.setdata(""); "); eval(strAjaxComplete); }); </script>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: JS Jquery去除数组重复元素
- 下一篇: JS怎么动态命名变量名