zoukankan      html  css  js  c++  java
  • jquery + json 操作

     jquery 读取集合对象多是要与json进行解析操作的,以下自己经过多方资料查找,终于有一套自己的方式组合.

     1.首先创建web services或一般处理程序,用于显示获取Datatable对象
    product.asmx   
     [WebMethod]
    -- BigClassName 传递的参数
            public string Test(string BigClassName)  
            {
                System.Text.StringBuilder strwhere = new System.Text.StringBuilder();
                strwhere.Append(" and BigClassName='").Append(BigClassName).Append("'");
                System.Data.DataTable dt = new BLL.smallclass_BLL().GetList(strwhere.ToString());   // 从数据获取Datatable对象
                return ToJson(dt);
            }
    ----- 这是转换成json格式进行输出显示,因为前台jquery不接受显示DataTable对象;--- 复用性不大
     /// <summary> 
            /// Datatable转换为Json 
            /// </summary> 
            /// <param name="table">Datatable对象</param> 
            /// <returns>Json字符串</returns> 
            public static string ToJson(DataTable Adt)
            {
                StringBuilder jsonString = new StringBuilder();
                jsonString.Append("[");
                foreach (DataRow pdr in Adt.Rows)
                {
                    jsonString.Append("{");
                    jsonString.AppendFormat(""name":"{0}","value":"{1}"", pdr["SmallClassName"].ToString(), pdr["SmallClassName"].ToString());
                    jsonString.Append("},");
                }
                jsonString.Remove(jsonString.Length - 1, 1);
                jsonString.Append("]");
                return jsonString.ToString();
            }
    ----这是显示前台jquery代码
     function GetType3(args) {
            var id = "<%=ddltype2.ClientID  %>";  // 这是获取ID号,因为我是在用户控件上测试的,
            $("#" + id).html("");  
            $("#" + id).append("<option value='0' selected='selected'>选择小类</option>");
            $.ajax({
                type: "post",
                dataType: "json",
                contentType: "application/json;charset=utf-8",
                url: "/Ajax/product.asmx/Test",
                data: "{BigClassName:'" + args + "'}",
                success: function(data) {
                     // 此处是重点,我就是在这个地方弄了好久,如果你直接使用data赋值,那就会获取不到值会弹出undefined
     
    var obj = eval(data.d); 
                    $.each(obj, function(field) { alert(obj[field].value); });  
     
                   var json = data.d;
                    json = eval(json);
                    for (var i = 0; i < json.length; i++) {
                        $("#" + id).append("<option value='" +  json[i].value + "'>" + json[i].name + "</option>");
                     }
                }
     
            });
  • 相关阅读:
    Interview with BOA
    Java Main Differences between HashMap HashTable and ConcurrentHashMap
    Java Main Differences between Java and C++
    LeetCode 33. Search in Rotated Sorted Array
    LeetCode 154. Find Minimum in Rotated Sorted Array II
    LeetCode 153. Find Minimum in Rotated Sorted Array
    LeetCode 75. Sort Colors
    LeetCode 31. Next Permutation
    LeetCode 60. Permutation Sequence
    LeetCode 216. Combination Sum III
  • 原文地址:https://www.cnblogs.com/scwyh/p/3188348.html
Copyright © 2011-2022 走看看