[英]How to display current value of <select> in label without change function
我当前有一个标签,显示从动态选择下拉列表中选择的选项,但仅显示onchange。 我希望它也能够在页面加载时显示当前值。 我没有运气就尝试将'change'切换为'load'。 这是我当前的设置:
Array.prototype.forEach.call(document.getElementsByName('filename'), function(elem) { elem.addEventListener('change', function() { document.getElementById('mylabel').innerHTML = this.value; }); });
<select class="select1" name="filename" id="filename"> <option>foo</option> <option>bar</option> </select> <label id="mylabel"></label>
您确实说过页面加载时就这么简单...
<body onload="mylabel.innerHTML=filename.value;">
我希望这是您想要的,我只是在函数外部添加了一行
Array.prototype.forEach.call(document.getElementsByName('filename'), function(elem) { elem.addEventListener('change', function() { document.getElementById('mylabel').innerHTML = this.value; }); }); document.getElementById('mylabel').innerHTML = document.getElementById('filename').value;
<select class="select1" name="filename" id="filename"> <option>foo</option> <option>bar</option> </select> <label id="mylabel"></label>
Array.prototype.forEach.call(document.getElementsByName('filename'), function(elem) { elem.addEventListener('change', function() { document.getElementById('mylabel').innerHTML = this.value; }); }); $('#mylabel').html($('#filename').val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <select class="select1" name="filename" id="filename"> <option>foo</option> <option>bar</option> </select> <label id="mylabel"></label>
为什么循环?
let e = document.getElementById("filename"); let x = document.getElementById('mylabel'); document.addEventListener('DOMContentLoaded',function(){ x.innerHTML = e.value; e.addEventListener('change', function(){ x.innerHTML = this.value; }); });
<select class="select1" name="filename" id="filename"> <option>foo</option> <option>bar</option> </select> <label id="mylabel"></label>
应用DRY(请勿重复):命名单击处理程序,然后在初始化期间手动调用它。 或者,您甚至可以在初始化期间手动触发更改。
码
$(function() {
// event handler on change
$('#filename').change(mylabel_update);
// update mylabel to show filename
function mylabel_update() {
$('#mylabel').html($('#filename').value);
}
// initialize option A - call the function directly
mylabel_update();
// initialize option B - force the change event (don't need the named fn)
$('#filename').trigger('change');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.