jquery - 使用 jQuery 级联下拉的 3 级嵌套对象 - 第 3 级不起作用
问题描述
我正在从 3 级嵌套对象创建级联下拉列表。我无法进行第 3 级工作,我的尝试在最后被评论。
$(document).ready(function() {
var carsdata = {
"ALFA ROMEO": {
"147": ["1,6 TS", "1,9 JTD", "1,9 JTD 16V MULTIJET", "1,9 JTD 120", "2,0 TS"],
"156": ["1,9 JTD", "1,9 JTD 16V MULTIJET", "2,4 JTD"],
"159": ["1,9 JTDM", "2,4 JTDM"],
"159 SW": ["1,9 JTDM", "2,4 JTDM"],
"166": ["2,0 TWIN SPARK 16V", "2,4 JTD", "2,0 TS"],
"GIULIA": ["2,9 V6 BI-TURBO", "2,2 JTD", "2,2 JTDM"],
"GIULIETTA": ["1,6 D. N. A", "2,0 D. N. A", "1,6", "2,0 TCT", "1,4 TB 16V D. N. A", "2,0", "1,6 MULTIJET", "1,4 TB"],
"GT": ["1,9 JTD M-JET"],
"GTV": ["2,0 TWIN SPARK 16V"],
"MITO": ["1,6 JTDM", "1,4 T-JET", "1,4 TB", "1,3 JTDM", "1,4", "1,4 T-JET SPORT", "1,3"],
"STELVIO": ["2,2 DIESEL", "2,0 TURBO"]
},
"AUDI": {
"80": ["1,9 TDI", "2.0", "1,6"],
"A1": ["1,6 TDI", "1,0 TFSI", "2,0 TDI", "1,4 TFSI", "1,2 TFSI", "1,6 TDI S-TRONIC", "1,4 TDI"],
"A2": ["1,4 TDI", "1,4"],
"A3": ["2,0 TDI", "1,6 TDI SPORT", "1,6 TDI", "1,9 TDI", "1,6", "1,6 TDI S-TRONIC", "2,0 TDI SPORT S-TRONIC", "1,8 TFSI", "2,0 TDI S-TRONIC", "1,2 TFSI", "1,8", "1.6 TDI", "1,4 TFSI", "2,0 TDI SPORT", "35 TDI", "2,0 FSI", "1", "1,8 T", "30 TDI", "35 TFSI", "A3 LIMOUSINE 1,6 TDI S TRONIC", "1,0 TFSI"],
"A3 CABRIO": ["1,6 TDI", "2,0 TDI", "1,9 TDI", "1,8 TFSI"],
"A3 COUPE": ["1.6 TDI", "1,6", "2.0 TDI"],
"A4": ["2,0 TDI SPORT", "2,0 TDI", "QUATTRO 3,0 TDI TIPTRONIC", "1,9 TDI", "3,0 TDI S-TRONIC", "1,8 T", "1,6", "3,0 TDI", "35 TDI", "2,0 TDI S-TRONIC", "3.0 TDI", "1,8 TFSI", "2,0 TFSI", "2,5 V6 TDI", "2.0 TDI", "2,0", "1,8", "1.9 TDI", "2,7 TDI", "2.0 TDI QUATTRO", "3,0 V6 TDI"],
"A4 ALLROAD": ["3,0 TDI", "2,0 TDI", "2,0 TDI S-TRONIC", "2"],
"A4 AVANT": ["1,9 TDI", "2,0 TDI", "2,0 TDI SPORT", "2,0 TDI S-TRONIC", "2,5 V6 TDI", "2,0 TDIE", "2,0", "2,0 SPORT", "2.0 TDI QUATTRO", "2,7 TDI", "2,0 TFSI", "QUATTRO 3,0 TDI TIPTRONIC", "3,0 TDI", "3.0 TDI", "3,0 V6 TDI", "2,7 V6 TDI", "2.0 TDI", "3", "3,0 TDI S-TRONIC"],
"A4 CABRIO": ["2,5 TDI", "1,8 T", "1,8"],
"A5 CABRIO": ["2,0 TDI", "3,0 TDI S-TRONIC", "2,7 TDI", "3,0 TDI"],
"A5 COUPE": ["3.0 TDI QUATTRO", "2,0 TDI SPORT", "1,8 TFSI", "2,0 TDI", "2,7 TDI", "3.0 TDI", "3,0 TDI SPORT S-TRONIC", "3,0 TDI", "3,0 TDI S-TRONIC", "2,0 TDI S-TRONIC"],
"A5 SPORTBACK": ["2,0 TDI", "2,0 TDI SPORT S-TRONIC", "3,0 TDI", "2,0 TDI S-TRONIC", "2,0 TDI SPORT", "2,7 TDI", "3,0 TDI S-TRONIC", "3,0 TDI SPORT S-TRONIC", "40 TDI", "2.0 TDI", "1,8 TFSI", "3.0 TDI QUATTRO"],
"A6": ["3,0 V6 TDI", "2,0 TDI", "2,7 V6 TDI", "3,0 TDI", "3,0 TDI S-TRONIC", "1,9 TDI", "2,8 V6", "50 TDI", "2,5 V6 TDI", "2,4 V6", "3,0 V6", "3,2 FSI V6", "40 TDI", "3.0 TDI", "1,8", "2,0 TDI S-TRONIC", "2,5 TDI", "A6 3,0 TDI QUATTRO S-TRONIC", "3", "2.0 TDI", "3.0 TDI QUATTRO", "OSOBNO"],
"A6 ALLROAD": ["3,0 TDI", "3,0 V6 TDI", "3,0 TDI S-TRONIC", "2,5 TDI", "3.0 TDI"],
"A6 AVANT": ["2,0 TDI", "3,0 TDI", "3,0 TDI S-TRONIC", "1,9 TDI", "3.0 TDI", "3,0 V6 TDI", "3,2 FSI V6", "2,5 V6 TDI", "2,7 V6 TDI", "2,4 V6", "2,5 TDI", "3.0 TDI QUATTRO", "2,0 TDI S-TRONIC", "40 TDI", "1,8 T", "50 TDI"],
"A7": ["3,0 TDI S-TRONIC", "3,0 TDI", "50 TDI", "3.0 TDI"],
"A8": ["4,2 V8", "3,0 TDI", "4,0 V8 TDI", "4,2 TDI", "OSOBNO", "3,0 V6 TDI", "50 TDI", "3.0 TDI"],
"Q2": ["30 TDI", "1,6 TDI", "1,4 TFSI", "2,0 TDI", "OSOBNO", "1.6 TDI"],
"Q3": ["2,0 TDI S-TRONIC", "2,0 TDI", "2,0 TDI SPORT", "35 TDI", "35 TFSI", "2.0 TDI"],
"Q5": ["Q5 2,0 TDI S-TRONIC", "2,0 TDI S-TRONIC", "3,0 TDI S-TRONIC", "2,0 TDI", "SQ5 3,0 TDI", "2,0 TDI SPORT", "40 TDI", "3,0 TDI", "35 TDI", "2.0 TDI", "2.0 TDI QUATTRO", "50 TDI"],
"Q7": ["3,0 V6 TDI", "3,0 TDI", "3.0 TDI", "50 TDI"],
"Q8": ["50 TDI"],
"TT": ["2,0 TDI", "2,0 TFSI", "2.0 TDI QUATTRO", "1,8 T", "1,8 TFSI", "3,2 V6"]
},
"BMW": {
"I3": ["AUT.", "REX"],
"M4": ["M4", "CABRIO"],
"SERIJA 1": ["116D SPORT", "116D", "120D", "114D", "116I", "118D", "118D SPORT", "118I", "16D", "123D"],
"SERIJA 2": ["220D", "218D", "216D", "218I"],
"SERIJA 2 ACTIVE TOURER": ["218D", "216D", "218I", "220D"],
"SERIJA 2 GRAN TOURER": ["218D", "216D", "220D"],
"SERIJA 3": ["318D", "320D", "325D", "316D", "330XD", "320D SPORT", "320D M SPORT", "330D", "318I", "318D SPORT", "316I", "2.0D", "320I", "320XD", "18D"],
"SERIJA 3 CABRIOLET": ["320CD", "320D", "330CI", "335I", "330D", "320I", "320CI"],
"SERIJA 3 COMPACT": ["320TD", "316I"],
"SERIJA 3 COUPE": ["320CD", "320D", "320CI", "318CI", "320I", "330CD", "330D", "335I", "330CI"],
"SERIJA 3 GRAN TURISMO": ["320D", "318D", "1,8", "DIESEL"],
"SERIJA 3 TOURING": ["320D", "316D", "330D", "318D", "18D", "325D", "316I", "330XD", "335I", "320I"],
"SERIJA 4 COUPE": ["420D", "420D SPORT", "430D", "435D M SPORT", "420D M SPORT", "418D", "M4"],
"SERIJA 4 GRAN COUPE": ["418D SPORT", "418D", "420D", "420D SPORT", "420D M SPORT", "430D", "435D M SPORT"],
"SERIJA 5": ["520D", "530D", "530XD", "525D", "523I", "520D ALL-IN-5", "530I", "520D ALL-IN-5M", "525TDS", "518D", "520I", "535D", "525I", "525XD", "535XD", "540I", "20D", "25D"],
"SERIJA 5 GRAN TURISMO": ["30D", "535D", "530D", "520D"],
"SERIJA 5 TOURING": ["520D", "525D", "518D", "530D", "525XD", "530XD", "535D", "30D", "535XD", "530I"],
"SERIJA 6": ["640D", "645CI"],
"SERIJA 6 GRAN COUPE": ["640D"],
"SERIJA 7": ["730D", "740D", "750LI"],
"X1": ["20D", "XDRIVE20D", "18D", "XDRIVE18D", "SDRIVE18D", "SDRIVE20D", "SDRIVE16D", "16D", "2,0 D", "25D"],
"X2": ["SDRIVE18D", "XDRIVE20D"],
"X3": ["XDRIVE30D", "XDRIVE20D", "2,0 D", "XDRIVE35D", "3,0 D", "20D", "18D", "30D", "3,0 I", "SDRIVE18D", "3,0 SD", "2,0 I"],
"X4": ["20D", "30D", "XDRIVE20D", "2.0D"],
"X5": ["XDRIVE30D", "3,0 I", "XDRIVE40D", "XDRIVE35D", "3,0 D", "25D", "4,8 I", "30D", "M50D", "3,0 SD"],
"X6": ["40D", "35D", "30D SPORT", "35I", "30D", "M50D", "XDRIVE30D", "XDRIVE40D"]
}
};
var manufacturer = $('<select id="manufacturer"></select>');
var model = $('<select id="model"> </select>');
var type = $('<select id="type"> </select>');
$.each(carsdata, function(item, key) {
manufacturer.append('<option >' + item + '</option>');
});
$("#container").html(manufacturer);
$("#manufacturer").on("change", function(e) {
var item;
var selected = $(this).val();
if (selected === "ALFA ROMEO") {
item = carsdata[selected];
} else {
item = carsdata[selected];
}
$(model).html('');
$.each(item, function(item, key) {
model.append('<option>' + item + '</option>');
$("#container").append(model);
});
});
<!-- 3rd level is not working, this is my attempt: -->
<!-- $("#model").on("change", function(e) { -->
<!-- var item; -->
<!-- var selected = $(this).val(); -->
<!-- if (selected === "147") { -->
<!-- item = carsdata[selected]; -->
<!-- } else { -->
<!-- item = carsdata[selected]; -->
<!-- } -->
<!-- $(type).html(''); -->
<!-- $.each(item, function(item, key) { -->
<!-- type.append('<option>' + key + '</option>'); -->
<!-- $("#container").append(type); -->
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="container"></div>
解决方案
选择类型的模式与您为制造商所做的模式相同,但是您需要使用委托事件处理程序,因为#model
页面加载时 DOM 中不存在该元素。
但是,您应该注意,当您在选择模型和类型后多次更改制造商选择时,在选择选项时将不同选择附加到 DOM 的行为会完全破坏 UI。为了解决这个问题,最初在 DOM 中拥有所有选择,但在选择选项之前隐藏不需要的选择。尝试这个:
var $manufacturer = $('<select id="manufacturer"></select>').appendTo('#container');
var $model = $('<select id="model"></select>').appendTo('#container');
var $type = $('<select id="type"></select>').appendTo('#container');
var manuHtml = Object.keys(carsdata).map(k => `<option>${k}</option>`).join('');
$manufacturer.html('<option>Please select...</option>' + manuHtml);
$("#manufacturer").on("change", function() {
var manufacturer = $(this).val();
var modelHtml = Object.keys(carsdata[manufacturer]).map(k => `<option>${k}</option>`).join('');
$model.html('<option>Please select...</option>' + modelHtml).show();
$type.val('').empty().hide();
});
$(document).on('change', '#model', function() {
var manufacturer = $('#manufacturer').val();
var model = $(this).val();
var typeHtml = carsdata[manufacturer][model].map(v => `<option>${v}</option>`).join('');
$type.html('<option>Please select...</option>' + typeHtml).show();
});
$(document).ready(function() {
var carsdata = {
"ALFA ROMEO": {
"147": ["1,6 TS", "1,9 JTD", "1,9 JTD 16V MULTIJET", "1,9 JTD 120", "2,0 TS"],
"156": ["1,9 JTD", "1,9 JTD 16V MULTIJET", "2,4 JTD"],
"159": ["1,9 JTDM", "2,4 JTDM"],
"159 SW": ["1,9 JTDM", "2,4 JTDM"],
"166": ["2,0 TWIN SPARK 16V", "2,4 JTD", "2,0 TS"],
"GIULIA": ["2,9 V6 BI-TURBO", "2,2 JTD", "2,2 JTDM"],
"GIULIETTA": ["1,6 D. N. A", "2,0 D. N. A", "1,6", "2,0 TCT", "1,4 TB 16V D. N. A", "2,0", "1,6 MULTIJET", "1,4 TB"],
"GT": ["1,9 JTD M-JET"],
"GTV": ["2,0 TWIN SPARK 16V"],
"MITO": ["1,6 JTDM", "1,4 T-JET", "1,4 TB", "1,3 JTDM", "1,4", "1,4 T-JET SPORT", "1,3"],
"STELVIO": ["2,2 DIESEL", "2,0 TURBO"]
},
"AUDI": {
"80": ["1,9 TDI", "2.0", "1,6"],
"A1": ["1,6 TDI", "1,0 TFSI", "2,0 TDI", "1,4 TFSI", "1,2 TFSI", "1,6 TDI S-TRONIC", "1,4 TDI"],
"A2": ["1,4 TDI", "1,4"],
"A3": ["2,0 TDI", "1,6 TDI SPORT", "1,6 TDI", "1,9 TDI", "1,6", "1,6 TDI S-TRONIC", "2,0 TDI SPORT S-TRONIC", "1,8 TFSI", "2,0 TDI S-TRONIC", "1,2 TFSI", "1,8", "1.6 TDI", "1,4 TFSI", "2,0 TDI SPORT", "35 TDI", "2,0 FSI", "1", "1,8 T", "30 TDI", "35 TFSI", "A3 LIMOUSINE 1,6 TDI S TRONIC", "1,0 TFSI"],
"A3 CABRIO": ["1,6 TDI", "2,0 TDI", "1,9 TDI", "1,8 TFSI"],
"A3 COUPE": ["1.6 TDI", "1,6", "2.0 TDI"],
"A4": ["2,0 TDI SPORT", "2,0 TDI", "QUATTRO 3,0 TDI TIPTRONIC", "1,9 TDI", "3,0 TDI S-TRONIC", "1,8 T", "1,6", "3,0 TDI", "35 TDI", "2,0 TDI S-TRONIC", "3.0 TDI", "1,8 TFSI", "2,0 TFSI", "2,5 V6 TDI", "2.0 TDI", "2,0", "1,8", "1.9 TDI", "2,7 TDI", "2.0 TDI QUATTRO", "3,0 V6 TDI"],
"A4 ALLROAD": ["3,0 TDI", "2,0 TDI", "2,0 TDI S-TRONIC", "2"],
"A4 AVANT": ["1,9 TDI", "2,0 TDI", "2,0 TDI SPORT", "2,0 TDI S-TRONIC", "2,5 V6 TDI", "2,0 TDIE", "2,0", "2,0 SPORT", "2.0 TDI QUATTRO", "2,7 TDI", "2,0 TFSI", "QUATTRO 3,0 TDI TIPTRONIC", "3,0 TDI", "3.0 TDI", "3,0 V6 TDI", "2,7 V6 TDI", "2.0 TDI", "3", "3,0 TDI S-TRONIC"],
"A4 CABRIO": ["2,5 TDI", "1,8 T", "1,8"],
"A5 CABRIO": ["2,0 TDI", "3,0 TDI S-TRONIC", "2,7 TDI", "3,0 TDI"],
"A5 COUPE": ["3.0 TDI QUATTRO", "2,0 TDI SPORT", "1,8 TFSI", "2,0 TDI", "2,7 TDI", "3.0 TDI", "3,0 TDI SPORT S-TRONIC", "3,0 TDI", "3,0 TDI S-TRONIC", "2,0 TDI S-TRONIC"],
"A5 SPORTBACK": ["2,0 TDI", "2,0 TDI SPORT S-TRONIC", "3,0 TDI", "2,0 TDI S-TRONIC", "2,0 TDI SPORT", "2,7 TDI", "3,0 TDI S-TRONIC", "3,0 TDI SPORT S-TRONIC", "40 TDI", "2.0 TDI", "1,8 TFSI", "3.0 TDI QUATTRO"],
"A6": ["3,0 V6 TDI", "2,0 TDI", "2,7 V6 TDI", "3,0 TDI", "3,0 TDI S-TRONIC", "1,9 TDI", "2,8 V6", "50 TDI", "2,5 V6 TDI", "2,4 V6", "3,0 V6", "3,2 FSI V6", "40 TDI", "3.0 TDI", "1,8", "2,0 TDI S-TRONIC", "2,5 TDI", "A6 3,0 TDI QUATTRO S-TRONIC", "3", "2.0 TDI", "3.0 TDI QUATTRO", "OSOBNO"],
"A6 ALLROAD": ["3,0 TDI", "3,0 V6 TDI", "3,0 TDI S-TRONIC", "2,5 TDI", "3.0 TDI"],
"A6 AVANT": ["2,0 TDI", "3,0 TDI", "3,0 TDI S-TRONIC", "1,9 TDI", "3.0 TDI", "3,0 V6 TDI", "3,2 FSI V6", "2,5 V6 TDI", "2,7 V6 TDI", "2,4 V6", "2,5 TDI", "3.0 TDI QUATTRO", "2,0 TDI S-TRONIC", "40 TDI", "1,8 T", "50 TDI"],
"A7": ["3,0 TDI S-TRONIC", "3,0 TDI", "50 TDI", "3.0 TDI"],
"A8": ["4,2 V8", "3,0 TDI", "4,0 V8 TDI", "4,2 TDI", "OSOBNO", "3,0 V6 TDI", "50 TDI", "3.0 TDI"],
"Q2": ["30 TDI", "1,6 TDI", "1,4 TFSI", "2,0 TDI", "OSOBNO", "1.6 TDI"],
"Q3": ["2,0 TDI S-TRONIC", "2,0 TDI", "2,0 TDI SPORT", "35 TDI", "35 TFSI", "2.0 TDI"],
"Q5": ["Q5 2,0 TDI S-TRONIC", "2,0 TDI S-TRONIC", "3,0 TDI S-TRONIC", "2,0 TDI", "SQ5 3,0 TDI", "2,0 TDI SPORT", "40 TDI", "3,0 TDI", "35 TDI", "2.0 TDI", "2.0 TDI QUATTRO", "50 TDI"],
"Q7": ["3,0 V6 TDI", "3,0 TDI", "3.0 TDI", "50 TDI"],
"Q8": ["50 TDI"],
"TT": ["2,0 TDI", "2,0 TFSI", "2.0 TDI QUATTRO", "1,8 T", "1,8 TFSI", "3,2 V6"]
},
"BMW": {
"I3": ["AUT.", "REX"],
"M4": ["M4", "CABRIO"],
"SERIJA 1": ["116D SPORT", "116D", "120D", "114D", "116I", "118D", "118D SPORT", "118I", "16D", "123D"],
"SERIJA 2": ["220D", "218D", "216D", "218I"],
"SERIJA 2 ACTIVE TOURER": ["218D", "216D", "218I", "220D"],
"SERIJA 2 GRAN TOURER": ["218D", "216D", "220D"],
"SERIJA 3": ["318D", "320D", "325D", "316D", "330XD", "320D SPORT", "320D M SPORT", "330D", "318I", "318D SPORT", "316I", "2.0D", "320I", "320XD", "18D"],
"SERIJA 3 CABRIOLET": ["320CD", "320D", "330CI", "335I", "330D", "320I", "320CI"],
"SERIJA 3 COMPACT": ["320TD", "316I"],
"SERIJA 3 COUPE": ["320CD", "320D", "320CI", "318CI", "320I", "330CD", "330D", "335I", "330CI"],
"SERIJA 3 GRAN TURISMO": ["320D", "318D", "1,8", "DIESEL"],
"SERIJA 3 TOURING": ["320D", "316D", "330D", "318D", "18D", "325D", "316I", "330XD", "335I", "320I"],
"SERIJA 4 COUPE": ["420D", "420D SPORT", "430D", "435D M SPORT", "420D M SPORT", "418D", "M4"],
"SERIJA 4 GRAN COUPE": ["418D SPORT", "418D", "420D", "420D SPORT", "420D M SPORT", "430D", "435D M SPORT"],
"SERIJA 5": ["520D", "530D", "530XD", "525D", "523I", "520D ALL-IN-5", "530I", "520D ALL-IN-5M", "525TDS", "518D", "520I", "535D", "525I", "525XD", "535XD", "540I", "20D", "25D"],
"SERIJA 5 GRAN TURISMO": ["30D", "535D", "530D", "520D"],
"SERIJA 5 TOURING": ["520D", "525D", "518D", "530D", "525XD", "530XD", "535D", "30D", "535XD", "530I"],
"SERIJA 6": ["640D", "645CI"],
"SERIJA 6 GRAN COUPE": ["640D"],
"SERIJA 7": ["730D", "740D", "750LI"],
"X1": ["20D", "XDRIVE20D", "18D", "XDRIVE18D", "SDRIVE18D", "SDRIVE20D", "SDRIVE16D", "16D", "2,0 D", "25D"],
"X2": ["SDRIVE18D", "XDRIVE20D"],
"X3": ["XDRIVE30D", "XDRIVE20D", "2,0 D", "XDRIVE35D", "3,0 D", "20D", "18D", "30D", "3,0 I", "SDRIVE18D", "3,0 SD", "2,0 I"],
"X4": ["20D", "30D", "XDRIVE20D", "2.0D"],
"X5": ["XDRIVE30D", "3,0 I", "XDRIVE40D", "XDRIVE35D", "3,0 D", "25D", "4,8 I", "30D", "M50D", "3,0 SD"],
"X6": ["40D", "35D", "30D SPORT", "35I", "30D", "M50D", "XDRIVE30D", "XDRIVE40D"]
}
};
var $manufacturer = $('<select id="manufacturer"></select>').appendTo('#container');
var $model = $('<select id="model"></select>').appendTo('#container');
var $type = $('<select id="type"></select>').appendTo('#container');
var manuHtml = Object.keys(carsdata).map(k => `<option>${k}</option>`).join('');
$manufacturer.html('<option>Please select...</option>' + manuHtml);
$("#manufacturer").on("change", function() {
var manufacturer = $(this).val();
var modelHtml = Object.keys(carsdata[manufacturer]).map(k => `<option>${k}</option>`).join('');
$model.html('<option>Please select...</option>' + modelHtml).show();
$type.val('').empty().hide();
});
$(document).on('change', '#model', function() {
var manufacturer = $('#manufacturer').val();
var model = $(this).val();
var typeHtml = carsdata[manufacturer][model].map(v => `<option>${v}</option>`).join('');
$type.html('<option>Please select...</option>' + typeHtml).show();
});
});
#model, #type {
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="container"></div>
推荐阅读
- gitlab - 如何配置 GitLab CI config.toml 以便 output_limit 工作
- sql-server - 我如何在 microsoft sql server 中使用 distinct 函数
- reactjs - 将 JS 路由反应到具有过滤数据的相同组件
- c++ - 将 Qt 与 Visual Studio 代码一起使用 (Windows)
- php - Laravel 为 auth 和 guest 用户路由不同的控制器
- java - hibernate一对多映射中各种子表的插入顺序
- javascript - 使用 AXIOS 和 VueJs 用二维数组映射数据
- javascript - 如何在请求后保存变量的值,但在第一次加载时有不同的值?
- python - jinja2.exceptions.TemplateNotFound 为什么会不断弹出?
- javascript - 如何使用 JavaScript 替换文本的多个实例?