Javascript $(“#密码”).show(); }else if(i==0&&quick.password\u quick==0){ $(“#密码”).hide(); } }); $(“#获得测验”).show().html(可选); } });

Javascript $(“#密码”).show(); }else if(i==0&&quick.password\u quick==0){ $(“#密码”).hide(); } }); $(“#获得测验”).show().html(可选); } });,javascript,mysql,database,sorting,combobox,Javascript,Mysql,Database,Sorting,Combobox,不要尝试使用您自己的字符串比较函数,因为您需要考虑大小写(大写/小写)、符号和其他有趣的内容。谢谢-您能解释一下我需要在代码中的什么地方添加这个吗。如前所述,我可以在互联网上找到关于如何对独立组合框进行排序的内容,但我的问题是如何整合到我现在拥有的内容中…并查看我的更新(其中包括指向有此问题的站点的链接)为什么不在数据库查询中对它们进行排序?Genius,谢谢!“滚动您自己的字符串比较函数”是什么意思?你在回答时考虑到这一点了吗?:)我的意思是不要使用result.sort(函数(a,b){返回

不要尝试使用您自己的字符串比较函数,因为您需要考虑大小写(大写/小写)、符号和其他有趣的内容。

谢谢-您能解释一下我需要在代码中的什么地方添加这个吗。如前所述,我可以在互联网上找到关于如何对独立组合框进行排序的内容,但我的问题是如何整合到我现在拥有的内容中…并查看我的更新(其中包括指向有此问题的站点的链接)为什么不在数据库查询中对它们进行排序?Genius,谢谢!“滚动您自己的字符串比较函数”是什么意思?你在回答时考虑到这一点了吗?:)我的意思是不要使用
result.sort(函数(a,b){返回a.quick\u name>b.quick\u name;})
或类似,因为在比较字符串时比较Unicode字符代码。这并不能提供人类所期望的自然秩序。例如,
'bar'<'Baz'===false
因此
'Baz'
将出现在
'bar'
之前。因此,我没有试图解释所有的边缘情况,而是依靠
localeCompare
的标准
字符串方法来比较
测验名称
属性。这种方法正是针对这样的用例而设计的。我们传递到
Array#sort
中的函数就是比较函数。也就是说,
result.sort(函数comparisonFunction(a,b){//比较这里的两个对象})
<body style="font-family: Arial;">
    <?php include("nav.php"); ?>

        <div id="head" align="center">
            <img src="img/typbanner.png" alt="www.teachyourselfpython.com" width=600 height=180 />
        </div>

        <div id="main_body" align="center">
            <h2>Time to try a <big><b>TEST!</b></big></h2>

            <form id="myForm" name="onlyForm" action="quiz.php" class="home"  method="POST">
                <select name="quiz_level" id="quiz_form" class="form-control">
                    <option disabled selected="true">-- Select The level of your Test --</option>
                    <option value="Beginner">Beginner</option>
                    <option value="Intermediate">Intermediate</option>
                    <option value="Advanced">Advanced</option>
                </select>
<select  class="form-control" name="quiz" id="got_quiz" style="display:none;"> <!--onchange="showUser(this.value)"-->
<script>
   "use strict";

              $("#quiz_form").change(function () {
           /* WHEN YOU CHANGE AND SELECT FROM THE SELECT FIELD */
           var allbooks = $(this).val(); /* GET THE VALUE OF THE SELECTED DATA */
           var dataString = "level=" + allbooks; /* STORE THAT TO A DATA STRING */

           $.ajax({ /* THEN THE AJAX CALL */
               type: "POST", /* TYPE OF METHOD TO USE TO PASS THE DATA */
               url: "get-quiz-by-level.php", /* PAGE WHERE WE WILL PASS THE DATA */
               dataType: "json",
               data: dataString, /* THE DATA WE WILL BE PASSING */
               success: function success(result) {
                   /* GET THE TO BE RETURNED DATA */
                   var option = "";
                   result.forEach(function (quiz, i) {
                       option += "<option value=\"" + quiz.id + "\">" + quiz.quiz_name + "</option>";
                       if (i == 0 && quiz.password_quiz != 0) {
                           $("#password").show();
                       } else if (i == 0 && quiz.password_quiz == 0) {
                           $("#password").hide();
                       }
                   });
                   $("#got_quiz").show().html(option);
               }
           });
       });
       $("#got_quiz").change(function () {
           /* WHEN YOU CHANGE AND SELECT FROM THE SELECT FIELD */
           var allbooks = $(this).val(); /* GET THE VALUE OF THE SELECTED DATA */
           var dataString = "quiz=" + allbooks; /* STORE THAT TO A DATA STRING */
           $.ajax({ /* THEN THE AJAX CALL */
               type: "POST", /* TYPE OF METHOD TO USE TO PASS THE DATA */
               url: "check_quiz_pass.php", /* PAGE WHERE WE WILL PASS THE DATA */
               data: dataString, /* THE DATA WE WILL BE PASSING */
               success: function success(result) {
                   /* GET THE TO BE RETURNED DATA */
                   if (result == 0) {
                       $("#password").hide();
                   } else {
                       $("#password").show();
                   }
               }
           });
       });
  <option value="3">three</option>
  <option value="1">one</option>
  <option value="0">zero</option>
  <option value="2">two</option>
</select>
<script>
  // WARN: won't handle OPTGROUPs!
  var sel = document.getElementById('foo');
  // convert OPTIONs NodeList to an Array
  // - keep in mind that we're using the original OPTION objects
  var ary = (function(nl) {
    var a = [];
    for (var i = 0, len = nl.length; i < len; i++)
      a.push(nl.item(i));
    return a;
  })(sel.options);
  // sort OPTIONs Array
  ary.sort(function(a,b){
    // sort by "value"? (numeric comparison)
    // NOTE: please remember what ".value" means for OPTION objects
    return a.value - b.value;
    // or by "label"? (lexicographic comparison) - case sensitive
    //return a.text < b.text ? -1 : a.text > b.text ? 1 : 0;
    // or by "label"? (lexicographic comparison) - case insensitive
    //var aText = a.text.toLowerCase();
    //var bText = b.text.toLowerCase();
    //return aText < bText ? -1 : aText > bText ? 1 : 0;
  });
  // remove all OPTIONs from SELECT (don't worry, the original
  // OPTION objects are still referenced in "ary") ;-)
  for (var i = 0, len = ary.length; i < len; i++)
    sel.remove(ary[i].index);
  // (re)add re-ordered OPTIONs to SELECT
  for (var i = 0, len = ary.length; i < len; i++)
    sel.add(ary[i], null);
</script>
result.sort(function (a, b) {
   return a.quiz_name.localeCompare(b.quiz_name);
});
$.ajax({ /* THEN THE AJAX CALL */
   type: "POST", /* TYPE OF METHOD TO USE TO PASS THE DATA */
   url: "get-quiz-by-level.php", /* PAGE WHERE WE WILL PASS THE DATA */
   dataType: "json",
   data: dataString, /* THE DATA WE WILL BE PASSING */
   success: function success(result) {

       /* GET THE TO BE RETURNED DATA */
       var option = "";
       result
           .sort(function (a, b) {
               return a.quiz_name.localeCompare(b.quiz_name);
           })
           .forEach(function (quiz, i) {
               option += "<option value=\"" + quiz.id + "\">" + quiz.quiz_name + "</option>";
               if (i == 0 && quiz.password_quiz != 0) {
                   $("#password").show();
               } else if (i == 0 && quiz.password_quiz == 0) {
                   $("#password").hide();
               }
           });
       $("#got_quiz").show().html(option);
   }
});