无法根据下拉列表填充动态文本框值

时间:2018-03-30 07:40:17

标签: javascript

我是javascript的新手,我正在尝试填充文本框,以便在选择dropdownList时动态更改其值。我的代码能够成功编译和运行,但文本框中没有任何内容。

我将不胜感激。

谢谢。

*附件是我的代码

<body>
            <select id="dropdownList" name="dropdownList" onchange="getSelectValue();">
                <option value="volvo">Volvo</option>
                <option value="saab">Saab</option>
            </select>

        <input type="text" id="price" value="" disabled> //I'm trying to change this value

        <br>
        <script>
            function getSelectValue() {
                var selectedValue = document.getElementById("dropdownList").value;
                if(selectedValue.equals("Volvo")) {
                    document.getElementById("price").value = "4.50";
                } else {
                    document.getElementById("price").value = "3.50";
                }
            }
        </script>


    </body>

3 个答案:

答案 0 :(得分:0)

试试这个

selectedValue.equals不是您使用if(selectedValue == 'volvo')代替if(selectedValue.equals("Volvo"))的JavaScript函数。

此外,选择框的值为volvo而不是Volvo

<script>
function getSelectValue() {
  var selectedValue = document.getElementById("dropdownList").value;
  if(selectedValue == 'volvo') {
      document.getElementById("price").value = "4.50";
   } else {
  document.getElementById("price").value = "3.50";
  }
}
</script>

答案 1 :(得分:0)

请检查一下。

  <script>
        function getSelectValue() {
            var selectedValue = document.getElementById("dropdownList").value;
            console.log(selectedValue);
            if(selectedValue==="volvo") {
                document.getElementById("price").value = "4.50";
            } else {
                document.getElementById("price").value = "3.50";
            }
        }
    </script>

答案 2 :(得分:0)

比较时使用===,而不是.equals

套管很重要。如果option值为'volvo',请不要对'Volvo'进行测试。

使用内联事件处理程序是一种不好的做法,导致代码性能差,难以管理的代码。请认真考虑使用JavaScript附加您的活动,例如:https://developer.mozilla.org/en/DOM/element.addEventListener

&#13;
&#13;
const select = document.querySelector('#dropdownList')
select.addEventListener('change', getSelectValue);

function getSelectValue() {
  var selectedValue = select.value;
  if (selectedValue === "volvo") {
    document.getElementById("price").value = "4.50";
  } else {
    document.getElementById("price").value = "3.50";
  }
}
getSelectValue();
&#13;
<select id="dropdownList" name="dropdownList">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
</select>
<input type="text" id="price" value="" disabled>
&#13;
&#13;
&#13;