如何使用vanilla JavaScript选择下拉选项?

如何使用vanilla JavaScript选择下拉选项?,javascript,html,dropdown,option,Javascript,Html,Dropdown,Option,我试图使用JavaScript在下拉菜单中选择一个选项,但似乎找不到任何方法。目标是在选择特定选项时显示特定的输入字段。相反,如果未选择任何内容,则会隐藏输入字段 当前,当您选择一个选项时,不会发生任何事情。我使用的是香草JavaScript,没有jQuery const variableFee=document.getElementById'variableFee'。value=Variable; const fixedFee=document.getElementById'fixedFee

我试图使用JavaScript在下拉菜单中选择一个选项,但似乎找不到任何方法。目标是在选择特定选项时显示特定的输入字段。相反,如果未选择任何内容,则会隐藏输入字段

当前,当您选择一个选项时,不会发生任何事情。我使用的是香草JavaScript,没有jQuery

const variableFee=document.getElementById'variableFee'。value=Variable; const fixedFee=document.getElementById'fixedFee'。value=Fixed; const feeChoice=document.getElementById'feeChoice'; //-----固定与可变费用计算--------// // ---------------------------------- // 函数transactionFeeInput{ 如果feeChoice==可变费用{ variableFee.style.display=块; } } 可变feeinput,固定feeinput{ 显示:无; } 交易费用是多少? -选择一个选项- 变量 固定的
我相信你唯一做错的就是用大写字母写变量和固定值,而你在选项中的值是可变和固定的

编辑:或者,您正在使用选项设置值!试试看
document.querySelector'feeChoice'.value=fixed

应该显示的字段具有ID variableFeeInput和fixedFeeInput,但是您要选择variableFee和fixedFee选项并为其赋值,然后将这些值而不是元素本身放入变量中

不正确:

const variableFee = document.getElementById('variableFee').value = "Variable";
if (feeChoice == variableFee) {
正确:

const variableFee = document.getElementById('variableFeeInput');
if (feeChoice.value === 'variable') {
然后,当尝试检查选择了哪个选项时,您需要将下拉列表的value属性与您在HTML中设置的选项值进行比较

不正确:

const variableFee = document.getElementById('variableFee').value = "Variable";
if (feeChoice == variableFee) {
正确:

const variableFee = document.getElementById('variableFeeInput');
if (feeChoice.value === 'variable') {
可变feeinput,固定feeinput{ 显示:无; } 交易费用是多少? -选择一个选项- 变量 固定的 const variableFee=document.getElementById'variableFeeInput'; const fixedFee=document.getElementById'fixedFeeInput'; const feeChoice=document.getElementById'feeChoice'; //-----固定与可变费用计算--------// // ---------------------------------- // 函数transactionFeeInput{ 如果feeChoice.value=='variable'{ variableFee.style.display=内联块; fixedFee.style.display=无; }否则{ fixedFee.style.display=内联块; variableFee.style.display=无; }} 可变feeinput,固定feeinput{ 显示:无; } 交易费用是多少? -选择一个选项- 变量 固定的
你很接近;,但正如其他人所指出的,javascript ID和引用存在一些问题,HTML和CSS都很好。您不需要常量声明,或者HTML元素已经在文档对象模型DOM中,并且可以通过id引用:

// ---------------- Fixed VS Variable Fee Calculation ---------------- //
// ------------------------------------------------------------------- //
function transactionFeeInput() {
    if (feeChoice.value === "variable") { // check for selected value
        variableFeeInput.style.display = "block";
    }
}