我有这段代码:
var buggy_brand_name = ['Baby Jogger', 'Babyzen', 'Bugaboo', 'GB', 'Icandy', 'Joie', 'Maclaren', 'Mamas&Papas', 'Maxi cosi', 'Mountain Buggy', "Out 'N' About", 'Phil and Teds',
'Quinny', 'Silver Cross', 'Stokke', 'UppaBaby'];
var multi_model = [['City Elite', 'City Lite', 'City Mini', 'City Mini GT', 'City Mini ZIP', 'City Select', 'City Versa GT', 'City Vue', 'Summit X3'],
['Yoyo+', 'Zen'],
['Buffalo', 'Cameleon3', 'Bee +', 'Bee 3', 'Bee 5', 'Donkey'],
['Pockit'],
['Peach Pushchair', 'Peach Pushchair and Carrycot', 'Peach All Teraine Pushchair and Carrycot', 'Peach All Teraine Pushchair', 'Apple Pushchair',
'Apple 2 Pear Pushchair (Double)', 'Strawberry Pushchair', 'Strawberry Style Collection Pushchair', 'Strawberry 2 Pushchair'],
['Nitro'],
['Techno XLR', 'Techno XT', 'Quest', 'Triumph'],
['Armadillo', 'Voyage', 'Zoom', 'Ocarro'],
['Elea', 'Mura', 'Stella', 'Nova', 'Dana'],
['Nano', 'Urban', 'Terrain', 'Duet', 'Swift', 'Mini'],
['Nipper', 'Sport Nipper', 'Nipper Double', 'Nipper 360'],
['Dot', 'Smart', 'Sport ', 'Dash', 'Mod', 'Voyager', 'Lux', 'Verve'],
['Moodd', 'Buzz', 'Zapp'],
['Pioneer', 'Wayfarer ', 'Zest', 'Pop', 'Reflex'],
['Xplory', 'Scoot', 'Trailz'],
['Cruz 2017', 'UppaBaby Vista', 'UppaBaby G-Luxe']];
for(var i = 0; i < buggy_brand_name.length; i++) {
$('#brand').append('<option value="' + buggy_brand_name[i] + '">' + buggy_brand_name[i] + '</option>');
$('#brand').on('change', function() {
$('#model_fieldset').css({display: 'block'});
var brand = $('#brand').val();
var model = $('#model');
switch (brand)
{
case 'Baby Jogger':
$('.sell-model').remove();
for (var i = 0; i < multi_model[0][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[0][i] + '">' +multi_model[0][i] + '</option>');
}
break;
case 'Babyzen':
$('.sell-model').remove();
for (var i = 0; i < multi_model[1][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[1][i] + '">' +multi_model[1][i] + '</option>');
}
break;
case 'Bugaboo':
$('.sell-model').remove();
for (var i = 0; i < multi_model[2][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[2][i] + '">' +multi_model[2][i] + '</option>');
}
break;
case 'GB':
$('.sell-model').remove();
for (var i = 0; i < multi_model[3][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[3][i] + '">' +multi_model[3][i] + '</option>');
}
break;
case 'Icandy':
$('.sell-model').remove();
for (var i = 0; i < multi_model[4][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[4][i] + '">' +multi_model[4][i] + '</option>');
}
break;
case 'Joie':
$('.sell-model').remove();
for (var i = 0; i < multi_model[5][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[5][i] + '">' +multi_model[5][i] + '</option>');
}
break;
case 'Maclaren':
$('.sell-model').remove();
for (var i = 0; i < multi_model[6][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[6][i] + '">' +multi_model[6][i] + '</option>');
}
break;
case 'Mamas&Papas':
$('.sell-model').remove();
for (var i = 0; i < multi_model[7][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[7][i] + '">' +multi_model[7][i] + '</option>');
}
break;
case 'Maxi cosi':
$('.sell-model').remove();
for (var i = 0; i < multi_model[8][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[8][i] + '">' +multi_model[8][i] + '</option>');
}
break;
case 'Mountain Buggy':
$('.sell-model').remove();
for (var i = 0; i < multi_model[9][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[9][i] + '">' +multi_model[9][i] + '</option>');
}
break;
case "Out 'N' About":
$('.sell-model').remove();
for (var i = 0; i < multi_model[10][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[10][i] + '">' +multi_model[10][i] + '</option>');
}
break;
case 'Phil and Teds':
$('.sell-model').remove();
for (var i = 0; i < multi_model[11][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[11][i] + '">' +multi_model[11][i] + '</option>');
}
break;
case 'Quinny':
$('.sell-model').remove();
for (var i = 0; i < multi_model[12][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[12][i] + '">' +multi_model[12][i] + '</option>');
}
break;
case 'Silver Cross':
$('.sell-model').remove();
for (var i = 0; i < multi_model[13][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[13][i] + '">' +multi_model[13][i] + '</option>');
}
break;
case 'Stokke':
$('.sell-model').remove();
for (var i = 0; i < multi_model[14][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[14][i] + '">' +multi_model[14][i] + '</option>');
}
break;
case 'UppaBaby':
$('.sell-model').remove();
for (var i = 0; i < multi_model[15][i].length; i++) {
model.append('<option class="sell-model" value="' + multi_model[15][i] + '">' +multi_model[15][i] + '</option>');
}
break;
};
一切正常,但我收到了这些错误:
sybg_js_1.js:75未捕获的TypeError:无法读取属性&#39;长度&#39;未定义的 在HTMLSelectElement。 (sybg_js_1.js:75)
在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3)
在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3)(匿名)@ sybg_js_1.js:75
dispatch @ jquery-3.2.1.min.js:3
q.handle @jquery-3.2.1.min.js:3sybg_js_1.js:81 Uncaught TypeError:无法读取属性&#39; length&#39;未定义的
在HTMLSelectElement上。 (sybg_js_1.js:81)
在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3) 在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3) (匿名)@ sybg_js_1.js:81 dispatch @ jquery-3.2.1.min.js:3 q.handle @jquery-3.2.1.min.js:3 sybg_js_1.js:99未捕获的TypeError:无法读取属性&#39; length&#39;的 ndefined 在HTMLSelectElement。 (sybg_js_1.js:99) 在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3) 在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3) (匿名)@ sybg_js_1.js:99 dispatch @ jquery-3.2.1.min.js:3 q.handle @jquery-3.2.1.min.js:3 sybg_js_1.js:105 Uncaught TypeError:无法读取属性&#39; length&#39;的 未定义 在HTMLSelectElement。 (sybg_js_1.js:105) 在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3) 在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3) (匿名)@ sybg_js_1.js:105 dispatch @ jquery-3.2.1.min.js:3 q.handle @jquery-3.2.1.min.js:3 sybg_js_1.js:147 Uncaught TypeError:无法读取属性&#39; length&#39;的 未定义 在HTMLSelectElement。 (sybg_js_1.js:147) 在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3) 在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3) (匿名)@ sybg_js_1.js:147 dispatch @ jquery-3.2.1.min.js:3 q.handle @jquery-3.2.1.min.js:3 sybg_js_1.js:75未捕获的TypeError:无法读取属性&#39; length&#39;的 未定义 在HTMLSelectElement。 (sybg_js_1.js:75) 在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3) 在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3) (匿名)@ sybg_js_1.js:75 dispatch @ jquery-3.2.1.min.js:3 q.handle @jquery-3.2.1.min.js:3 sybg_js_1.js:81未捕获的TypeError:无法读取属性&#39; length&#39;的 未定义 在HTMLSelectElement。 (sybg_js_1.js:81) 在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3) 在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3) (匿名)@ sybg_js_1.js:81 dispatch @ jquery-3.2.1.min.js:3 q.handle @jquery-3.2.1.min.js:3 sybg_js_1.js:87未捕获的TypeError:无法读取属性&#39; length&#39;的 未定义 在HTMLSelectElement。 (sybg_js_1.js:87) 在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3) 在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3) (匿名)@ sybg_js_1.js:87 dispatch @ jquery-3.2.1.min.js:3 q.handle @jquery-3.2.1.min.js:3 sybg_js_1.js:93未捕获的TypeError:无法读取属性&#39; length&#39;的 未定义 在HTMLSelectElement。 (sybg_js_1.js:93) 在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3) 在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3) (匿名)@ sybg_js_1.js:93 dispatch @ jquery-3.2.1.min.js:3 q.handle @jquery-3.2.1.min.js:3 sybg_js_1.js:99未捕获的TypeError:无法读取属性&#39; length&#39;的 未定义 在HTMLSelectElement。 (sybg_js_1.js:99) 在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3) 在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3) (匿名)@ sybg_js_1.js:99 dispatch @ jquery-3.2.1.min.js:3 q.handle @jquery-3.2.1.min.js:3 sybg_js_1.js:105 Uncaught TypeError:无法读取属性&#39; length&#39;的 未定义 在HTMLSelectElement。 (sybg_js_1.js:105) 在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3) 在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3) (匿名)@ sybg_js_1.js:105 dispatch @ jquery-3.2.1.min.js:3 q.handle @jquery-3.2.1.min.js:3 sybg_js_1.js:111 Uncaught TypeError:无法读取属性&#39; length&#39;的 未定义 在HTMLSelectElement。 (sybg_js_1.js:111) 在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3) 在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3) (匿名)@ sybg_js_1.js:111 dispatch @ jquery-3.2.1.min.js:3 q.handle @jquery-3.2.1.min.js:3 sybg_js_1.js:117 Uncaught TypeError:无法读取属性&#39; length&#39;的 未定义 在HTMLSelectElement。 (sybg_js_1.js:117) 在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3) 在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3) (匿名)@ sybg_js_1.js:117 dispatch @ jquery-3.2.1.min.js:3 q.handle @jquery-3.2.1.min.js:3 sybg_js_1.js:165 Uncaught TypeError:无法读取属性&#39; length&#39;的 未定义 在HTMLSelectElement。 (sybg_js_1.js:165) 在HTMLSelectElement.dispatch(jquery-3.2.1.min.js:3) 在HTMLSelectElement.q.handle(jquery-3.2.1.min.js:3) (匿名)@ sybg_js_1.js:165 dispatch @ jquery-3.2.1.min.js:3 q.handle @jquery-3.2.1.min.js:3
有人知道为什么吗?
答案 0 :(得分:0)
在所有情况下,您希望multi_model[10][i].length
与multi_model[10].length
交换(使用相应的索引而不是10)。
对于循环条件,您需要multi_model
中某个元素的长度。虽然multi_model
个元素本身就是数组,但它们不包含任何数组,而是包含字符串。
特别是条件i < multi_model[0][i].length
应该让你想知道,这里的某些东西是不合逻辑的。