jQuery实现下拉框联动

    xiaoxiao2022-07-07  186

    <!DOCTYPE html> <html>

        <head>         <meta charset="utf-8">         <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />         <title></title>         <link href="css/mui.min.css" rel="stylesheet" />     </head>

        <body>         <div class="mui-content">             <label>policy:</label>             <select id="idpolicy">                 <option>please select</option>             </select>             <label>category:</label>             <select id="idcategory">                 <option>please select</option>             </select>             <ul id="idresult">             </ul>         </div>     </body>     <script type="text/javascript" src="js/jquery.min.js"></script>     <script type="text/javascript">         var tempList = [{             "policy": "0001",             "category": "aaaa",             "name":"apple"         }, {             "policy": "0001",             "category": "bbbb",             "name":"orange"         }, {             "policy": "0001",             "category": "cccc",             "name":"banana"         }, {             "policy": "0002",             "category": "cccc",             "name":"watermelon"         }, {             "policy": "0003",             "category": "cccc",             "name":"grape"         }, {             "policy": "0004",             "category": "eeee",             "name":"pineapple"         }, {             "policy": "0004",             "category": "dddd",             "name":"buleberry"         }, {             "policy": "0005",             "category": "pppp",             "name":"stawberry"         }, {             "policy": "0005",             "category": "aaaa",             "name":"pear"         }]

            var polObj = tempList;

            $(function() {             //init Policy DropDown             var initPolicyDropDown = function() {                 var newList = [];                 for(var i = 0; i < tempList.length; i++) {                     var arrOne = tempList[i].policy;                     var count = 0;                     for(var j = i + 1; j < tempList.length; j++) {                         var arrTwo = tempList[j].policy;                         if(arrOne === arrTwo) {                             count++;                         }                     }                     if(count === 0) {                         newList.push(arrOne);                     }                 }                 console.log("the new list is---" + newList)                 var html_ = ''                 for(var k = 0; k < newList.length; k++) {                     html_ += '<option value=' + newList[k] + '>' + newList[k] + '</option>';                 }                 $('#idpolicy').append(html_);             }             initPolicyDropDown();

                //find Category             var findCategory = function(arr, polNo) {                 var categoryList = []                 for(var i = 0; i < arr.length; i++) {                     if(arr[i].policy == polNo) {                         categoryList.push(arr[i].category);                     }                 }                 return categoryList;             }

                console.log(findCategory(polObj, '0001'));

                //search result             var searchResult = function(arr, polNo, ctgNo) {                 var resultList = []                 for(var i = 0; i < arr.length; i++) {                     if(arr[i].policy == polNo && arr[i].category == ctgNo) {                         resultList.push(arr[i]);                     }                 }                 return resultList;             }             console.log(searchResult(polObj, '0001', 'aaaa'));

                //policy change even             $('#idpolicy').change(function() {                 var categoryResult = [];                 var selectedPol = $(this).children('option:selected').val();                 categoryResult = findCategory(polObj, selectedPol);                 var html_ = '<option>please select</option>';                 for(var i = 0; i < categoryResult.length; i++) {                     html_ += '<option value=' + categoryResult[i] + '>' + categoryResult[i] + '</option>';                 }                 $('#idcategory').html(html_);                 $('#idcategory').change(function() {                     $('#idresult').children().html('');                     var selectedCty = $('#idcategory').children('option:selected').val();                     var detailResult = searchResult(polObj, selectedPol, selectedCty);                     var htmlDetails_ = ''                     for(var j = 0; j < detailResult.length; j++) {                         htmlDetails_ += '<li>' + detailResult[j].policy + '</li>' +                             '<li>' + detailResult[j].category + '</li>'+                             '<li>' + detailResult[j].name + '</li>'                     }                     $('#idresult').html(htmlDetails_);                 })

                })

            })     </script>

    </html>

    最新回复(0)