JavaScript - 刚刚学习

标签 javascript jquery xml for-loop

我刚刚学习 JavaScript,我发现自己编写了下面的代码,并认为应该有一种方法可以使用 FOR 或 WHILE 语句来循环这些语句以获得所需的输出,但它比一个基本的 FOR 循环(至少对我来说)。你能帮我开始吗?

问题:如果使用 FOR,我如何获取 XML 节点的计数,以便知道何时需要停止?

AJAX 中是否有一种方法可以完成此操作而无需使用 FOR 或 WHILE?

其他信息:OA40+ 和 VS50+ 的实际源代码要大得多,并且可能会发生变化,因此随着 XML 文件的更改,从 XML 获取它会节省大量代码工作。

编辑 - 根据请求更新 - XML 太大,无法在此处发布,因此我在线提供了它:http://mdihosting.com/5/Projects/VRACC/xml/categories.xml

function onchange1(catname) {
   //alert(catname);
   $("#oatable tbody tr").empty();
   $("#epcftable tbody tr").empty();
   $.ajax({
      type: "GET",
      url: "xml/categories.xml",
      dataType: "xml",
      success: function (xml) {
         var div = $('#epcf-wrap');
         div.empty();
         var findval = "Cat"
         $(xml).find('Cat').each(function () {
            var cval = $(this).attr('name');
            if (catname === cval) {
               // I bet there is an easier way to do this
               var xmlArr = [];
               var xml_EPCF_1_1 = $(this).find('EPCF_1_1').text();
               var xml_EPCF_1_2 = $(this).find('EPCF_1_2').text();
               var xml_EPCF_1_3 = $(this).find('EPCF_1_3').text();
               var xml_EPCF_1_4 = $(this).find('EPCF_1_4').text();
               var xml_EPCF_1_5 = $(this).find('EPCF_1_5').text();
               var xml_EPCF_1_6 = $(this).find('EPCF_1_6').text();
               var xml_EPCF_2_1 = $(this).find('EPCF_2_1').text();
               var xml_EPCF_2_2 = $(this).find('EPCF_2_2').text();
               var xml_EPCF_2_3 = $(this).find('EPCF_2_3').text();
               var xml_EPCF_2_4 = $(this).find('EPCF_2_4').text();
               var xml_EPCF_2_5 = $(this).find('EPCF_2_5').text();
               var xml_EPCF_3_1 = $(this).find('EPCF_3_1').text();
               var xml_EPCF_3_2 = $(this).find('EPCF_3_2').text();
               var xml_EPCF_3_3 = $(this).find('EPCF_3_3').text();
               var xml_EPCF_3_4 = $(this).find('EPCF_3_4').text();
               var xml_EPCF_4_1 = $(this).find('EPCF_4_1').text();
               var xml_EPCF_4_2 = $(this).find('EPCF_4_2').text();
               var xml_EPCF_4_3 = $(this).find('EPCF_4_3').text();
               var xml_EPCF_4_4 = $(this).find('EPCF_4_4').text();
               var xml_EPCF_4_5 = $(this).find('EPCF_4_5').text();
               var xml_EPCF_4_6 = $(this).find('EPCF_4_6').text();
               var xml_EPCF_5_1 = $(this).find('EPCF_5_1').text();
               var xml_EPCF_5_2 = $(this).find('EPCF_5_2').text();
               var xml_EPCF_5_3 = $(this).find('EPCF_5_3').text();
               var xml_EPCF_5_4 = $(this).find('EPCF_5_4').text();
               var xml_EPCF_5_5 = $(this).find('EPCF_5_5').text();
               var xml_EPCF_5_6 = $(this).find('EPCF_5_6').text();
               var xml_EPCF_5_7 = $(this).find('EPCF_5_7').text();
               var xml_EPCF_5_8 = $(this).find('EPCF_5_8').text();
               var xml_EPCF_6_1 = $(this).find('EPCF_6_1').text();
               var xml_EPCF_6_2 = $(this).find('EPCF_6_2').text();
               var xml_EPCF_6_3 = $(this).find('EPCF_6_3').text();
               var xml_EPCF_6_4 = $(this).find('EPCF_6_4').text();
               var xml_EPCF_6_5 = $(this).find('EPCF_6_5').text();
               var xml_EPCF_6_6 = $(this).find('EPCF_6_6').text();
               var xml_EPCF_6_7 = $(this).find('EPCF_6_7').text();
               var xml_EPCF_6_8 = $(this).find('EPCF_6_8').text();
               var xml_OA1 = $(this).find('OA1').text();
               var xml_OA2 = $(this).find('OA2').text();
               var xml_OA3 = $(this).find('OA3').text();
               var xml_OA4 = $(this).find('OA4').text();
               var xml_OA5 = $(this).find('OA5').text();
               var xml_OA6 = $(this).find('OA6').text();
               var xml_OA7 = $(this).find('OA7').text();
               var xml_OA8 = $(this).find('OA8').text();
               var xml_OA9 = $(this).find('OA9').text();
               var xml_OA10 = $(this).find('OA10').text();
               var xml_VS1 = $(this).find('VS1').text();
               var xml_VS2 = $(this).find('VS2').text();
               var xml_VS3 = $(this).find('VS3').text();
               var xml_VS4 = $(this).find('VS4').text();
               var xml_VS5 = $(this).find('VS5').text();

               //begin name attr
               var xml_EPCF_1_1_name = $(this).find('EPCF_1_1').attr('name');
               var xml_EPCF_1_2_name = $(this).find('EPCF_1_2').attr('name');
               var xml_EPCF_1_3_name = $(this).find('EPCF_1_3').attr('name');
               var xml_EPCF_1_4_name = $(this).find('EPCF_1_4').attr('name');
               var xml_EPCF_1_5_name = $(this).find('EPCF_1_5').attr('name');
               var xml_EPCF_1_6_name = $(this).find('EPCF_1_6').attr('name');
               var xml_EPCF_2_1_name = $(this).find('EPCF_2_1').attr('name');
               var xml_EPCF_2_2_name = $(this).find('EPCF_2_2').attr('name');
               var xml_EPCF_2_3_name = $(this).find('EPCF_2_3').attr('name');
               var xml_EPCF_2_4_name = $(this).find('EPCF_2_4').attr('name');
               var xml_EPCF_2_5_name = $(this).find('EPCF_2_5').attr('name');
               var xml_EPCF_3_1_name = $(this).find('EPCF_3_1').attr('name');
               var xml_EPCF_3_2_name = $(this).find('EPCF_3_2').attr('name');
               var xml_EPCF_3_3_name = $(this).find('EPCF_3_3').attr('name');
               var xml_EPCF_3_4_name = $(this).find('EPCF_3_4').attr('name');
               var xml_EPCF_4_1_name = $(this).find('EPCF_4_1').attr('name');
               var xml_EPCF_4_2_name = $(this).find('EPCF_4_2').attr('name');
               var xml_EPCF_4_3_name = $(this).find('EPCF_4_3').attr('name');
               var xml_EPCF_4_4_name = $(this).find('EPCF_4_4').attr('name');
               var xml_EPCF_4_5_name = $(this).find('EPCF_4_5').attr('name');
               var xml_EPCF_4_6_name = $(this).find('EPCF_4_6').attr('name');
               var xml_EPCF_5_1_name = $(this).find('EPCF_5_1').attr('name');
               var xml_EPCF_5_2_name = $(this).find('EPCF_5_2').attr('name');
               var xml_EPCF_5_3_name = $(this).find('EPCF_5_3').attr('name');
               var xml_EPCF_5_4_name = $(this).find('EPCF_5_4').attr('name');
               var xml_EPCF_5_5_name = $(this).find('EPCF_5_5').attr('name');
               var xml_EPCF_5_6_name = $(this).find('EPCF_5_6').attr('name');
               var xml_EPCF_5_7_name = $(this).find('EPCF_5_7').attr('name');
               var xml_EPCF_5_8_name = $(this).find('EPCF_5_8').attr('name');
               var xml_EPCF_6_1_name = $(this).find('EPCF_6_1').attr('name');
               var xml_EPCF_6_2_name = $(this).find('EPCF_6_2').attr('name');
               var xml_EPCF_6_3_name = $(this).find('EPCF_6_3').attr('name');
               var xml_EPCF_6_4_name = $(this).find('EPCF_6_4').attr('name');
               var xml_EPCF_6_5_name = $(this).find('EPCF_6_5').attr('name');
               var xml_EPCF_6_6_name = $(this).find('EPCF_6_6').attr('name');
               var xml_EPCF_6_7_name = $(this).find('EPCF_6_7').attr('name');
               var xml_EPCF_6_8_name = $(this).find('EPCF_6_8').attr('name');
               var xml_OA1_name = $(this).find('OA1').attr('name');
               var xml_OA2_name = $(this).find('OA2').attr('name');
               var xml_OA3_name = $(this).find('OA3').attr('name');
               var xml_OA4_name = $(this).find('OA4').attr('name');
               var xml_OA5_name = $(this).find('OA5').attr('name');
               var xml_OA6_name = $(this).find('OA6').attr('name');
               var xml_OA7_name = $(this).find('OA7').attr('name');
               var xml_OA8_name = $(this).find('OA8').attr('name');
               var xml_OA9_name = $(this).find('OA9').attr('name');
               var xml_OA10_name = $(this).find('OA10').attr('name');


               var xml_VS1_name = $(this).find('VS1').attr('name');
               var xml_VS2_name = $(this).find('VS2').attr('name');
               var xml_VS3_name = $(this).find('VS3').attr('name');
               var xml_VS4_name = $(this).find('VS4').attr('name');
               var xml_VS5_name = $(this).find('VS5').attr('name');

               //begin id attr
               var xml_EPCF_1_1_id = $(this).find('EPCF_1_1').attr('id');
               var xml_EPCF_1_2_id = $(this).find('EPCF_1_2').attr('id');
               var xml_EPCF_1_3_id = $(this).find('EPCF_1_3').attr('id');
               var xml_EPCF_1_4_id = $(this).find('EPCF_1_4').attr('id');
               var xml_EPCF_1_5_id = $(this).find('EPCF_1_5').attr('id');
               var xml_EPCF_1_6_id = $(this).find('EPCF_1_6').attr('id');
               var xml_EPCF_2_1_id = $(this).find('EPCF_2_1').attr('id');
               var xml_EPCF_2_2_id = $(this).find('EPCF_2_2').attr('id');
               var xml_EPCF_2_3_id = $(this).find('EPCF_2_3').attr('id');
               var xml_EPCF_2_4_id = $(this).find('EPCF_2_4').attr('id');
               var xml_EPCF_2_5_id = $(this).find('EPCF_2_5').attr('id');
               var xml_EPCF_3_1_id = $(this).find('EPCF_3_1').attr('id');
               var xml_EPCF_3_2_id = $(this).find('EPCF_3_2').attr('id');
               var xml_EPCF_3_3_id = $(this).find('EPCF_3_3').attr('id');
               var xml_EPCF_3_4_id = $(this).find('EPCF_3_4').attr('id');
               var xml_EPCF_4_1_id = $(this).find('EPCF_4_1').attr('id');
               var xml_EPCF_4_2_id = $(this).find('EPCF_4_2').attr('id');
               var xml_EPCF_4_3_id = $(this).find('EPCF_4_3').attr('id');
               var xml_EPCF_4_4_id = $(this).find('EPCF_4_4').attr('id');
               var xml_EPCF_4_5_id = $(this).find('EPCF_4_5').attr('id');
               var xml_EPCF_4_6_id = $(this).find('EPCF_4_6').attr('id');
               var xml_EPCF_5_1_id = $(this).find('EPCF_5_1').attr('id');
               var xml_EPCF_5_2_id = $(this).find('EPCF_5_2').attr('id');
               var xml_EPCF_5_3_id = $(this).find('EPCF_5_3').attr('id');
               var xml_EPCF_5_4_id = $(this).find('EPCF_5_4').attr('id');
               var xml_EPCF_5_5_id = $(this).find('EPCF_5_5').attr('id');
               var xml_EPCF_5_6_id = $(this).find('EPCF_5_6').attr('id');
               var xml_EPCF_5_7_id = $(this).find('EPCF_5_7').attr('id');
               var xml_EPCF_5_8_id = $(this).find('EPCF_5_8').attr('id');
               var xml_EPCF_6_1_id = $(this).find('EPCF_6_1').attr('id');
               var xml_EPCF_6_2_id = $(this).find('EPCF_6_2').attr('id');
               var xml_EPCF_6_3_id = $(this).find('EPCF_6_3').attr('id');
               var xml_EPCF_6_4_id = $(this).find('EPCF_6_4').attr('id');
               var xml_EPCF_6_5_id = $(this).find('EPCF_6_5').attr('id');
               var xml_EPCF_6_6_id = $(this).find('EPCF_6_6').attr('id');
               var xml_EPCF_6_7_id = $(this).find('EPCF_6_7').attr('id');
               var xml_EPCF_6_8_id = $(this).find('EPCF_6_8').attr('id');
               var xml_OA1_id = $(this).find('OA1').attr('id');
               var xml_OA2_id = $(this).find('OA2').attr('id');
               var xml_OA3_id = $(this).find('OA3').attr('id');
               var xml_OA4_id = $(this).find('OA4').attr('id');
               var xml_OA5_id = $(this).find('OA5').attr('id');
               var xml_OA6_id = $(this).find('OA6').attr('id');
               var xml_OA7_id = $(this).find('OA7').attr('id');
               var xml_OA8_id = $(this).find('OA8').attr('id');
               var xml_OA9_id = $(this).find('OA9').attr('id');
               var xml_OA10_id = $(this).find('OA10').attr('id');
               var xml_VS1_id = $(this).find('VS1').attr('id');
               var xml_VS2_id = $(this).find('VS2').attr('id');
               var xml_VS3_id = $(this).find('VS3').attr('id');
               var xml_VS4_id = $(this).find('VS4').attr('id');
               var xml_VS5_id = $(this).find('VS5').attr('id');

               //In this installment of FML, we're going to build an Array
               xmlArr += "<table id='opttable' align='left'><tr><td>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_1_1_id + "' name='" + xml_EPCF_1_1_id + "' /><label for='epcf11'>" + xml_EPCF_1_1_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_1_2_id + "' name='" + xml_EPCF_1_2_id + "' /><label for='epcf12'>" + xml_EPCF_1_2_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_1_3_id + "' name='" + xml_EPCF_1_3_id + "' /><label for='epcf13'>" + xml_EPCF_1_3_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_1_4_id + "' name='" + xml_EPCF_1_4_id + "' /><label for='epcf14'>" + xml_EPCF_1_4_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_1_5_id + "' name='" + xml_EPCF_1_5_id + "' /><label for='epcf15'>" + xml_EPCF_1_5_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_1_6_id + "' name='" + xml_EPCF_1_6_id + "' /><label for='epcf15'>" + xml_EPCF_1_6_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_2_1_id + "' name='" + xml_EPCF_2_1_id + "' /><label for='epcf11'>" + xml_EPCF_2_1_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_2_2_id + "' name='" + xml_EPCF_2_2_id + "' /><label for='epcf12'>" + xml_EPCF_2_2_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_2_3_id + "' name='" + xml_EPCF_2_3_id + "' /><label for='epcf13'>" + xml_EPCF_2_3_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_2_4_id + "' name='" + xml_EPCF_2_4_id + "' /><label for='epcf14'>" + xml_EPCF_2_4_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_2_5_id + "' name='" + xml_EPCF_2_5_id + "' /><label for='epcf15'>" + xml_EPCF_2_5_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_3_1_id + "' name='" + xml_EPCF_3_1_id + "' /><label for='epcf11'>" + xml_EPCF_3_1_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_3_2_id + "' name='" + xml_EPCF_3_2_id + "' /><label for='epcf12'>" + xml_EPCF_3_2_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_3_3_id + "' name='" + xml_EPCF_3_3_id + "' /><label for='epcf13'>" + xml_EPCF_3_3_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_3_4_id + "' name='" + xml_EPCF_3_4_id + "' /><label for='epcf14'>" + xml_EPCF_3_4_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_4_1_id + "' name='" + xml_EPCF_4_1_id + "' /><label for='epcf11'>" + xml_EPCF_4_1_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_4_2_id + "' name='" + xml_EPCF_4_2_id + "' /><label for='epcf12'>" + xml_EPCF_4_2_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_4_3_id + "' name='" + xml_EPCF_4_3_id + "' /><label for='epcf13'>" + xml_EPCF_4_3_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_4_4_id + "' name='" + xml_EPCF_4_4_id + "' /><label for='epcf14'>" + xml_EPCF_4_4_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_4_5_id + "' name='" + xml_EPCF_4_5_id + "' /><label for='epcf15'>" + xml_EPCF_4_5_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_4_6_id + "' name='" + xml_EPCF_4_6_id + "' /><label for='epcf15'>" + xml_EPCF_4_6_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_5_1_id + "' name='" + xml_EPCF_5_1_id + "' /><label for='epcf11'>" + xml_EPCF_5_1_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_5_2_id + "' name='" + xml_EPCF_5_2_id + "' /><label for='epcf12'>" + xml_EPCF_5_2_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_5_3_id + "' name='" + xml_EPCF_5_3_id + "' /><label for='epcf13'>" + xml_EPCF_5_3_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_5_4_id + "' name='" + xml_EPCF_5_4_id + "' /><label for='epcf14'>" + xml_EPCF_5_4_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_5_5_id + "' name='" + xml_EPCF_5_5_id + "' /><label for='epcf15'>" + xml_EPCF_5_5_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_5_6_id + "' name='" + xml_EPCF_5_6_id + "' /><label for='epcf15'>" + xml_EPCF_5_6_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_5_7_id + "' name='" + xml_EPCF_5_7_id + "' /><label for='epcf15'>" + xml_EPCF_5_7_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_5_8_id + "' name='" + xml_EPCF_5_8_id + "' /><label for='epcf15'>" + xml_EPCF_5_8_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_6_1_id + "' name='" + xml_EPCF_6_1_id + "' /><label for='epcf11'>" + xml_EPCF_6_1_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_6_2_id + "' name='" + xml_EPCF_6_2_id + "' /><label for='epcf12'>" + xml_EPCF_6_2_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_6_3_id + "' name='" + xml_EPCF_6_3_id + "' /><label for='epcf13'>" + xml_EPCF_6_3_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_6_4_id + "' name='" + xml_EPCF_6_4_id + "' /><label for='epcf14'>" + xml_EPCF_6_4_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_6_5_id + "' name='" + xml_EPCF_6_5_id + "' /><label for='epcf15'>" + xml_EPCF_6_5_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_6_6_id + "' name='" + xml_EPCF_6_6_id + "' /><label for='epcf15'>" + xml_EPCF_6_6_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_6_7_id + "' name='" + xml_EPCF_6_7_id + "' /><label for='epcf15'>" + xml_EPCF_6_7_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_EPCF_6_8_id + "' name='" + xml_EPCF_6_8_id + "' /><label for='epcf15'>" + xml_EPCF_6_8_name + "</label><br/>";
               xmlArr += "</td><td>";
               //Build OA
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_OA1_id + "' name='" + xml_OA1_id + "' /><label for='oa1'>" + xml_OA1_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_OA2_id + "' name='" + xml_OA2_id + "' /><label for='oa2'>" + xml_OA2_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_OA3_id + "' name='" + xml_OA3_id + "' /><label for='oa3'>" + xml_OA3_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_OA4_id + "' name='" + xml_OA4_id + "' /><label for='oa4'>" + xml_OA4_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_OA5_id + "' name='" + xml_OA5_id + "' /><label for='oa5'>" + xml_OA5_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_OA6_id + "' name='" + xml_OA6_id + "' /><label for='oa6'>" + xml_OA6_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_OA7_id + "' name='" + xml_OA7_id + "' /><label for='oa7'>" + xml_OA7_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_OA8_id + "' name='" + xml_OA8_id + "' /><label for='oa8'>" + xml_OA8_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_OA9_id + "' name='" + xml_OA9_id + "' /><label for='oa9'>" + xml_OA9_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_OA10_id + "' name='" + xml_OA10_id + "' /><label for='oa10'>" + xml_OA10_name + "</label><br/>";
               xmlArr += "</td><td>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_VS1_id + "' name='" + xml_VS1_id + "' /><label for='vs1'>" + xml_VS1_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_VS2_id + "' name='" + xml_VS2_id + "' /><label for='vs2'>" + xml_VS2_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_VS3_id + "' name='" + xml_VS3_id + "' /><label for='vs3'>" + xml_VS3_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_VS4_id + "' name='" + xml_VS4_id + "' /><label for='vs4'>" + xml_VS4_name + "</label><br/>";
               xmlArr += "<input class='checkbox' type='checkbox' id='" + xml_VS5_id + "' name='" + xml_VS5_id + "' /><label for='vs5'>" + xml_VS5_name + "</label><br/>";
               xmlArr += "</td></tr></table>";
               div.append(xmlArr);
               $(":input[type='checkbox']").wijcheckbox();
            }

         });

      }
   });
}

最佳答案

这是我对 success 回调的看法。

我删除了 if (catname === cval) { 因为我不知道 catname 代表什么。如果您尝试过滤特定类别,那么可能有不同的方法。

function onchange1(catname) {
    $("#oatable tbody tr").empty();
    $("#epcftable tbody tr").empty();
    $.ajax({
        type: "GET",
        url: "xml/categories.xml",
        dataType: "xml",
        success: function(xml) {

            var table = $('<table>', {id: 'opttable',align: 'left'});

                // get the Category for the catname passed
            var category = $(xml).children().children('Cat[name="' + catname + '"]');

            var tr = $('<tr>').appendTo(table); // create TR and append to TABLE
            var td = $('<td>').appendTo(tr); // create TD and append to TR

                // iterate all children of the current Category
            category.children().each(function(i, cat_child) {

                   // Grab the name and ID of the current item
                var id = $(cat_child).attr('id');
                var name = $(cat_child).attr('name');

                    // create INPUT with the attributes of the current
                    //   child of Cat, and append to the TD
                $('<input>', {
                    className: 'checkbox',
                    type: 'checkbox',
                    id: id,
                    name: id
                }).appendTo(td);
                    // create LABEL with the id attribute of the current
                    //   child of Cat and append to TD
                $('<label>', {for: id, text:name}).appendTo(td);

                $('<br>').appendTo(td); // create BR element and append to TD
            });
            $('#epcf-wrap').empty().append(table); // Append the table to its container
        }
    });
}

关于JavaScript - 刚刚学习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9123474/

相关文章:

javascript - 是否有使用 Javascript 插入 HTML block 的最佳实践?

javascript - 如何在 Laravel 页面上显示日期选择器?

javascript - 如何在右键单击时获取元素的id

java - 将过滤器添加到 web.xml 后,一个或多个过滤器无法启动

android - 我可以将我的 android 项目中的资源标记为已弃用吗?

javascript - 创建弹出窗口

javascript - 返回页面的同一部分(css/jQuery)

javascript - CSS 选择器性能,DOM 解析

jquery - 当浏览器窗口高度小于 800 像素时,需要帮助保持嵌套的 div 可见

xml - 如何对 XSLT/XPATH 中的一组节点进行不区分大小写的查找?