2013-11-04 78 views
2

嗨我差不多完成了填充選擇下拉列表然後輸出相關編號的小任務。選擇一家公司等工程。填充依賴於更改事件的選擇下拉列表

這裏是我的jsfiddle:http://jsfiddle.net/3MK3D/1/

我現在需要生成適當的公司在選擇下拉取決於所選擇部門。我爲個人公司創建了一個新的javascript數組。

我想過的,也許做這樣的事情,並傳遞正確的變量相應的功能,但真的不知道如何實現它:

var companiesArray; 

    $('#sector').on('change', function(e){ 
     var optionSelected = $("option:selected", this); 
     var sectorSelected = this.value; 
     if(sectorSelected == 'business') { 
      companiesArray = 'insurancecompanies'; 

     } else if(sectorSelected == 'personal') { 
      companiesArray = 'personalcompanies'; 

     } else { 

     } 
    }); 

有可能是一個更好的辦法?

+0

大概有多少部門,你處理?並且它們可能是很多跨部門公司的交叉引用 – charlietfl

+0

只有兩個,業務和個人 –

+0

不能,如果選擇了其中一個,那麼該陣列會改變以下功能。 –

回答

1

使用具有您sector選擇值作爲鍵到相關陣列一個companies對象:

var companies = { 
    business : [ 
     { 
      name : 'Advent', 
      property : '01242 674 674', 
      fleet : '', 
      motortrade : '' 
     }, 
     { 
      name : 'Allianz', 
      property : '0844 412 9988', 
      fleet : '0800 587 5858', 
      motortrade : '' 
     }, 
     // other insurance companies 
    ], 
    personal : [ 
     // personal companies 
    ] 
} 

然後:

$('#sector').on('change', function(e){ 
    var optionSelected = $("option:selected", this); 
    var sectorSelected = this.value; 
    var companyArray = companies[sectorSelected]; 
    // iterate over companyArray and create the relevant option objects for #company 
}); 
+0

任何更改,你可以用這個更新我現有的jsfiddle? http://jsfiddle.net/3MK3D/1/ –

+0

@RobMorris您的代碼還有其他部分需要更新以反映更改,但是:http://jsfiddle.net/3MK3D/2/ –

+0

啊是的,現在我必須根據公司的選擇生成保險類型選擇。我看你已經評論過了。我需要以某種方式獲得sectorSelected並將其傳遞給findCompany數組? –

相關問題