2015-08-14 69 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