简体   繁体   English

用JS选择时的回声选项值

[英]Echo Option value when it is selected with JS

I am trying to print a value in a printchatbox with javascript. 我正在尝试使用javascript在printchatbox中打印一个值。 When you select a specific option from a 'select', I need that value to be printed. 当您从“选择”中选择特定选项时,我需要打印该值。 Right now what I made is this: 现在我所做的是:

<div class='printchatbox' id='printchatbox'></div>
<select type='text' id='km' name='km' value=''>
  <option value='1'>Number 1</option>
  <option value='2'>Number 2</option>
 </select>

<script>
// elements
var inpKm = document.getElementById("km");
var chBox = document.getElementById('printchatbox');
// event at keyup
inpKm.addEventListener('keyup', verbruik);
// function with event
function verbruik() {
    var km = Number(inpKm.value.replace(',','.'));
    // check for '', null, undefined, false, 0, NaN
    if (!km) {
        chBox.innerHTML = 'Select option.';
    } else {
        chBox.innerHTML = km;
    }
}
</script>

But it doesn't work unfortunately, and I don't know why. 不幸的是,它并不起作用,我也不知道为什么。 The selection is not echoed into the chatbox. 选择不会回显到聊天框中。 How can I fix it? 我该如何解决? Thanks in advance! 提前致谢!

Here's a link to the code https://jsfiddle.net/3hLm0t9L/11/ 这是代码链接https://jsfiddle.net/3hLm0t9L/11/

It's because you bound a keyup event instead of the change event. 这是因为您绑定了一个keyup事件而不是change事件。

This line: 这行:

inpKm.addEventListener('keyup', verbruik);

Should be: 应该:

inpKm.addEventListener('change', verbruik);

Also, even if you're dutch, it's good practice to code in english. 同样,即使您是荷兰人,用英语编码也是个好习惯。 This to say, you should keep your variables etc. in english. 这就是说,您应该将变量等保留为英语。 It's just good practice and allows any programmer to interact with it. 这只是一个好习惯,并且允许任何程序员与之互动。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM