jQuery以错误的顺序追加问题

jQuery以错误的顺序追加问题,jquery,append,Jquery,Append,我试图将timeByDay附加到一个空的下拉列表中。我希望在下拉列表中有一个顺序(---选择一个时间--,下午6点,晚上9点)的数据。然而,在我的结果中,---选择一个时间--总是作为列表中的最后一个孩子出现,比如(6pm,9pm,---选择一个时间---) 有人知道这个问题吗?您需要创建一个数组。当前使用的对象不保证键的顺序 像这样改变你的目标 if (cinemaValue == "maxima") { if (dayValue=="mon" || dayValue=="tue"

我试图将timeByDay附加到一个空的下拉列表中。我希望在下拉列表中有一个顺序(---选择一个时间--,下午6点,晚上9点)的数据。然而,在我的结果中,---选择一个时间--总是作为列表中的最后一个孩子出现,比如(6pm,9pm,---选择一个时间---)


有人知道这个问题吗?

您需要创建一个数组。当前使用的对象不保证键的顺序

像这样改变你的目标

if (cinemaValue == "maxima") {
     if (dayValue=="mon" || dayValue=="tue" || dayValue=="wed" || dayValue=="thu" || dayValue=="fri") {
         var timeByDay = {"na":"--- Select a time ---", 6:"6pm", 9:"9pm"};
     } else if (dayValue=="sat" || dayValue=="sun") {
         var timeByDay = {"na":"--- Select a time ---", 3:"3pm",6:"6pm", 9:"9pm"};
    }
}
$.each(timeByDay, function(value, text){
    $("#time").append(new Option(text, value));
})
然后使用它来填充选择

 var timeByDay = [{
     text: "--- Select a time ---",
     value: "na"
 }, {
     text: "6pm",
     value: "6"
 }];

timeByDay
是一个不保证键顺序的对象-创建
timeByDay
作为数组0或1而不是
na
,这可能会导致排序。
$.each(timeByDay, function(index, item){
   $("#time").append(new Option(item.text, item.value));
})