我通過解決創建包含保險公司的下拉菜單的任務,然後第二個下拉菜單顯示保險公司提供的保險類型,財產,車隊或motortrade(提供的保險類型包括一個數字)。)一旦選擇了兩個選擇下拉菜單,顯示相關的數字。輸出對象數組javascript
目前,這是據我得感謝以下http://codepen.io/anon/pen/yoEiL
繼承人的HTML一些幫助:
<form action="" method="get" class="insurance-numbers">
<div>
<select id="company">
</select>
</div>
<div>
<select id="insurance-type">
</select>
</div>
<div id="insurance-number"></div>
</form>
和Javascript:
var insurancecompanies = [
{
name : 'Advent',
property : '01242 674 674',
fleet : '',
motortrade : ''
},
{ name : 'Allianz',
property : '0844 412 9988',
fleet : '0800 587 5858',
motortrade : ''
},
{ name : 'Aviva',
property : '0800 015 1498',
fleet : '0800 246 876',
motortrade : '0800 246 876'
},
{ name : 'AXA',
property : '0870 900 0867',
fleet : '0870 900 0860',
motortrade : '0870 900 1753'
},
{ name : 'Catlin',
property : '',
fleet : '0800 066 5364',
motortrade : ''
},
{ name : 'Chartis',
property : '',
fleet : '0844 477 6544',
motortrade : ''
},
{ name : 'Clegg Gifford',
property : '',
fleet : '',
motortrade : '01708 729 529'
},
{ name : 'Equity Red Star',
property : '',
fleet : '0845 609 1235',
motortrade : ''
},
{ name : 'Highway/LV',
property : '',
fleet : '0845 373 1244',
motortrade : ''
},
{ name : 'NIG',
property : '',
fleet : '0845 300 4644',
motortrade : '0845 300 4644'
},
{ name : 'QBE',
property : '',
fleet : '01245 272 700',
motortrade : ''
},
{ name : 'Royal Sun Alliance',
property : '0845 077 0120',
fleet : '0845 675 0404',
motortrade : '0845 077 0119'
},
{ name : 'Summit',
property : '',
fleet : '01254 396 655',
motortrade : ''
},
{ name : 'Zurich',
property : '0845 300 2055',
fleet : '0800 300 2055',
motortrade : ''
}
];
function findCompany(name) {
var i = 0, len = insurancecompanies.length;
for (i; i < len; i += 1) {
if (insurancecompanies[i].name === name) {
return insurancecompanies[i];
}
}
return null;
};
var dropdown = [], i = 0, len = insurancecompanies.length;
for (i; i < len; i += 1) {
dropdown.push(insurancecompanies[i].name);
}
$.each(dropdown, function(i, val) {
$("#company").append("<option val=\""+ val +"\">" + val + "</option>");
});
$('#company').on('change', function() {
var optionSelected = $("option:selected", this);
var valueSelected = this.value;
var selectedInsurance = findCompany(valueSelected);
for (i in selectedInsurance) {
$("#insurance-type").append("<option val=\""+ selectedInsurance[i] +"\">" + selectedInsurance[i] + "</option>");
}
});
目前它正確顯示保險公司名單。然後選擇變更後的公司。我需要它然後顯示它提供的保險類型(忽略那些它dosn't(那些沒有數字),然後在該選擇顯示在#保險號碼的數字。
因此,以演示如果我選擇Allianz,第二個下拉列表將包含'property'和'fleet'。如果用戶選擇'fleet',則編號'0800 587 5858'將被附加到div#insurance-number'。
對不起,如果這很混淆我真的需要一些幫助,這就是一切。
在數組文本尾隨逗號是無效一些瀏覽器。否則,你的代碼是否正確取決於你打算如何使用它...... – lonesomeday
不太清楚這個數組與面向對象編程有什麼關係。或者jQuery。 –
澄清「輸出」。目前沒有輸出,因爲您只定義了一個變量。 – tcooc