2015-08-14 66 views
1

我有選擇HTML表單選擇選項下拉菜單: 運輸&物流單位 TRANSFLO解決方案業務部 西方業務部 其他JavaScript的HTML變量形式進入

我有以下的javascript射入值代入職位基於上述選擇的變量。

var data = { 
    "Transportation & Logistics Unit": [ 
     'Transportation &', 
     'Logistics Unit' 
    ], 
    "TRANSFLO Solutions Business Unit": [ 
     'TRANSFLO Solutions', 
     'Business Unit' 
    ], 
    "Western Business Unit": [ 
     'Western Business Unit', 
     '' 
    ], 
    "Other": [ 
     document.getElementById('t1_t2_c_p_variableTextForm_pageTpl_v06CompanyDivision_other').value, 
     '' 
    ], 
    "Western Canada Petroleum Solutions": [ 
     'Western Canada Petroleum Solutions', 
     '' 
    ] 
} 

的功能是:

function SetJobTitle() { 
    var choice = spec['v06CompanyDivision'].selectedText(); 
    spec['v02JobTitle1'].value = data[choice][0]; 
    spec['v03JobTitle2'].value = data[choice][1]; 
} 

當用戶選擇「選項」出現在一個文本輸入框,從而可以輸入文本。輸入框的元素ID爲「t1_t2_c_p_variableTextForm_pageTpl_v06CompanyDivision_other」。

上面的「其他」的var數據值不起作用,所以我想知道你能否告訴我錯過了什麼。

感謝

編輯:

我能夠通過改變SetJobTitle功能,像這樣得到的東西進入規範[ 'v02JobTitle1' 值:。

function SetJobTitle() { 
    var choice == spec['v06CompanyDivision'].selectedText(); 
    if (data[choice][0] = 'Other') { 
     spec['v02JobTitle1'].value =  document.getElementById('t1_t2_c_p_variableTextForm_pageTpl_v06CompanyDivision_other').value; 
    } else { 
     spec['v02JobTitle1'].value = data[choice][0]; 
     spec['v03JobTitle2'].value = data[choice][1]; 
    } 
} 

然而,似乎有點尷尬,因爲它是由不斷變化的下拉菜單觸發的。如果我只是編輯輸入框中的值,它不會改變。在這種情況下我能做些什麼?

回答

0

你應該選擇後,從您的輸入框中獲取的值或者聽它的變化和處理其

所以,你的代碼

document.getElementById('t1_t2_c_p_variableTextForm_pageTpl_v06CompanyDivision_other').value 

應該每次你改變輸入框或任何其它事件觸發調用並獲得價值應該在的地方把你需要

+0

我確實有這樣的觸發:spec ['v06CompanyDivision']。onchange = SetJobTitle; – Bryan

0

變化Otherdata"Other": [function(){return document.getElementById('t1_t2_c_p_variableTextForm_pageTpl_v06CompanyDivision_other').value},'']條目。

function SetJobTitle() { 
    var choice = spec['v06CompanyDivision'].selectedText(); 
    if(choice === 'Other') 
     spec['v02JobTitle1'].value = data[choice][0](); 
    else 
     spec['v02JobTitle1'].value = data[choice][0]; 
    spec['v03JobTitle2'].value = data[choice][1]; 
} 

這應該對你有所幫助。儘管它是一個令人討厭的代碼。

+0

這給了我一個錯誤。 – Bryan

+0

@Bryan可以指定你得到什麼錯誤。 – MjZac

+0

javascript被封裝在產生錯誤的應用程序環境中,所以我只是得到一個沒有解釋的錯誤代碼。 – Bryan