>  기사  >  웹 프론트엔드  >  jquery는 어떻게 백그라운드에서 목록 컬렉션을 탐색하고 얻나요?

jquery는 어떻게 백그라운드에서 목록 컬렉션을 탐색하고 얻나요?

伊谢尔伦
伊谢尔伦원래의
2017-06-17 09:53:146328검색

프로젝트에서 jquery는 어떻게 목록을 탐색하나요?

일반적인 상황에서는 백그라운드의 목록을 json 문자열로 변환하고 ajax의 콜백 함수로 반환해야 합니다. json 문자열은 콜백 함수에서 직접 조작할 수 있습니다.

예:

$.post("test.php", { name: "John", time: "2pm" },
function(data){
  //可以在这儿循环,比如:
  var listNow=data.listHouTai;//取list。listHouTai是你后台定义的json名称
  for ( var i = 0; i < listNow.length; i++) { 
       var id = vos[i].Id;//可以取list中第一个对象的id值,其他的类推
  }         
});

jQuery 클래스 라이브러리 도입이 필요한 jQuery 사용자 정의 배열 작업 클래스js 외부 파일을 사용할 수 있습니다. 캡슐화 클래스 코드는 다음과 같습니다.

(function ($) {
    $.List = function () {
        var _list = new Array();
        //外部为数组赋值
        this.GetDataSource = function (arr) {
            if (IsArrayType(arr)) {
                _list = arr;
            } else {
                alert("指定元素非数组类型,赋值失败!");
            }
        };
        //添加一个元素
        this.Add = function (arg) {
            if (arg) {
                _list.push(arg);
            } else {
                alert("参数错误,添加元素失败!");
            }
            return _list;
        };
        //删除指定索引的元素
        this.RemoveAt = function (index) {
            if (IsArrayIndex(index) && index < _list.length) {
                var i;
                var arr = new Array();
                for (i = 0; i < _list.length; i++) {
                    if (i != index) {
                        arr.push(_list[i]);
                    }
                }
                _list = arr;
                return _list;
            }
            else {
                alert("未获取到设置对象的实例,删除元素失败!");
            }
        };
        //按照指定的分割符显示出所有元素
        this.Split = function (arg) {
            arg = arg || ",";
            var i, res;
            res = "";
            if (_list.length > 0) {
                for (i = 0; i < _list.length; i++) {
                    res += _list[i].toString() + arg;
                }
                return res.substr(0, (res.length - arg.toString().length));
            } else {
                return "";
            }
        };
        //外部调用直接返回当前数组实力
        this.ToArray = function () {
            return _list;
        };
        //设置指定索引处的值为指定值
        this.Update = function (index, value) {
            if (IsArrayIndex(index) && index < _list.length) {
                _list[index] = value;
            }
            return _list;
        };
        //清空所有元素
        this.RemoveAll = function () {
            _list.splice(0, _list.length);
            return _list;
        };
        //根据传入的值获取第一次出现在数组中的下标
        this.IndexOf = function (value) {
            if (value) {
                var i;
                for (i = 0; i < _list.length; i++) {
                    if (_list[i] == value) {
                        return i;
                    }
                }
            }
            return -1;
        };
        //获取数组长度
        this.Size = function () {
            return _list.length;
        };
        //移除数组中重复的项
        this.RemoveRepeat = function () {
            _list.sort();
            var rs = [];
            var cr = false;
            for (var i = 0; i < _list.length; i++) {
                if (!cr)
                    cr = _list[i];
                else if (cr == _list[i])
                    rs[rs.length] = i;
                else
                    cr = _list[i];
            }
            for (var i = rs.length - 1; i >= 0; i--)
                this.RemoveAt(rs[i]);
            return _list;
        };
        //对数字数组元素排序,参数:0升序1降序
        this.SortNumber = function (f) {
            if (!f) f = 0;
            if (f == 1) return _list.sort(function (a, b) { return b - a; });
            return _list.sort(function (a, b) { return a - b; });
        };

        //私有方法
        //判断正确的数组下标
        function IsArrayIndex(index) {
            var reg = /^\d+$/;
            if (reg.test(index))
                return true;
            else
                return false;
        }
        //判断当前对象是否为数组对象
        function IsArrayType(arr) {
            if (typeof arr == &#39;object&#39; && typeof arr.length == &#39;number&#39;)
                return true;
            else
                return false;
        }
    }; //结束List的构造方法

})(jquery);

페이지를 호출할 때 두 개의 js 파일을 도입해야 합니다.

<script src="js/jquery-1.8.3.min.js" type="text/JavaScript"></script>
<script src="js/jquery.array.js" type="text/javascript"></script>
<script type="text/javascript">
 $(function () {
            var myList = new $.List();
            myList.Add(1);
            myList.Add("1906-07-08");
            myList.Add("hellow world");
            myList.RemoveAt(0);
            myList.Update(0, "11111111");
            //alert("数组被修改内容后的结果:" + myList.Split("|"));
            myList.RemoveAll();
            var arr = myList.ToArray();
            //alert("数组全部被删除后结果:" + arr);
            //alert("数组1当前长度:" + myList.Size());
            var myList2 = new $.List();
            myList2.Add(3);
            myList2.Add(1);
            myList2.Add(45);
            myList2.Add(21);
            myList2.Add(-9);
            myList2.Add(1);
            alert("第二个实例数组结果:" + myList2.ToArray());
            myList2.RemoveRepeat();
            alert("去重后第二个实例数组结果:" + myList2.ToArray());
            alert("去重后第二个实例数组长度:" + myList2.Size());
            myList2.SortNumber(1);
            alert("排序后的数组:" + myList2.ToArray());
            var arr3 = ["aaa", "bbb", "ccc", "ddd", "eee"];
            var arr4;
            myList2.GetDataSource(arr3);
            alert("重新赋值后结果:"+myList2.ToArray());
        });
    </script>

개체 구문 JSON 데이터 형식(서버 콜백에서 반환된 개체 데이터 형식이 json 데이터 형식인 경우, JSON의 형식 요구 사항이 보장되어야 하며, 콜백 개체는 eval 함수를 사용하여 변환되어야 합니다(그렇지 않으면 개체를 얻을 수 없음). 이 기사에서는 서버측 콜백의 데이터 문제를 직접적으로 소개하지 않습니다. 객체 사용자 정의)

1.jquery 객체 탐색

< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML > <HEAD > <TITLE > New Document < /TITLE>
  <script language="javascript" type="text/javascript " src="jquery.min.js "></script>
  <script  type="text / javascript ">
     $(function(){
       var tbody = "";    
    //------------遍历对象 .each的使用-------------
    
    var obj =[{"name ":"项海军","password ":"123456 "}];
   $("#result ").html("------------遍历对象.each的使用-------------");
      alert(obj);//是个object元素
   //下面使用each进行遍历
   $.each(obj,function(n,value) { 
           alert(n+&#39; &#39;+value);
           var trs = "";
             trs += " < tr > <td > " + value.name +" < /td> <td>" + value.password +"</td > </tr>";
             tbody += trs;       
           });
         $("#project").append(tbody);
     
  });
  </script > </HEAD>
 
 <BODY>
     <div id="result" style="font-size:16px;color:red;"></div > <table cellpadding = 5 cellspacing = 1 width = 620 id = "project"border = "1" > <tr > <th > 用户名 < /th>
                <th>密码</th > </tr>             
     </table > </BODY>
</HTML >

2 .jQuery 배열 탐색

< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML > <HEAD > <TITLE > New Document < /TITLE>
  <script language="javascript" type="text/javascript " src="jquery.min.js "></script>
  <script  type="text / javascript ">
     $(function(){
       var tbody = "";
    
     //------------遍历数组 .each的使用-------------
           var anArray = [&#39;one&#39;,&#39;two&#39;,&#39;three&#39;];
     $("#result ").html("------------遍历数组.each的使用-------------");
           $.each(anArray,function(n,value) {
           
            alert(n+&#39; &#39;+value);
           var trs = "";
             trs += " < tr > <td > " +value+" < /td></tr > ";
              tbody += trs;
            });
          $("#project ").append(tbody);
     
  });
  </script>
 </HEAD>
 
 <BODY>
    ------------此部分同1中的body部分--------------------
 </BODY>
</HTML>
3.jQuery 遍历List集合(其实与遍历一个对象没有太大区别,只是格式上的问题)
<!DOCTYPE HTML PUBLIC " - //W3C//DTD HTML 4.0 Transitional//EN">
< HTML > <HEAD > <TITLE > New Document < /TITLE>
  <script language="javascript" type="text/javascript " src="jquery.min.js "></script>
  <script  type="text / javascript ">
     $(function(){
       var tbody = "";
    
     //------------遍历List集合 .each的使用-------------
      var obj =[{"name ":"项海军","password ":"123456 "},{"name ":"科比","password ":"333333 "}];
    $("#result ").html("遍历List集合.each的使用");
      alert(obj);//是个object元素
   //下面使用each进行遍历
   $.each(obj,function(n,value) { 
           alert(n+&#39; &#39;+value);
       var trs = "";
             trs += " < tr > <td > " +value.name+" < /td> <td>" + value.password +"</td > </tr>";
             tbody += trs;       
           });
         $("#project").append(tbody);
     
  });
  </script > </HEAD>
 
 <BODY>
       ------------此部分同1中的body部分--------------------
 </BODY >
</HTML>


위 내용은 jquery는 어떻게 백그라운드에서 목록 컬렉션을 탐색하고 얻나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.