<select>
当我使用更改标签的选定值时,如何触发事件JavaScript
?
我尝试过这样的事情,但我现在迷路了;当我更改标签的选定值时,我想更改标签的值<select>
。
function ChangeSelectValue(ddlID, value, change) {
var ddl = document.getElementById(ddlID);
}
<select>
当我使用更改标签的选定值时,如何触发事件JavaScript
?
我尝试过这样的事情,但我现在迷路了;当我更改标签的选定值时,我想更改标签的值<select>
。
function ChangeSelectValue(ddlID, value, change) {
var ddl = document.getElementById(ddlID);
}
这很简单,只需使用 onchange=display(this.value) 从选择选项返回所选值,其中 dispaly() 是用户定义的函数,this.value 返回所选值
<!DOCTYPE html>
<html>
<head>
<script>
function display(str) {
alert(str);
}
</script>
</head>
<body>
<h1>My First JavaScript</h1>
<p id="demo">This is a paragraph.</p>
<select id="Country" onchange="display(this.value)">
<option id="I" value="India">India</option>
<option id="P" value="Pakistan" >Pakistan</option>
<option id="S" value="SriLanka">SriLanka</option>
<option id="C" value="China" >China</option>
</select>
</body>
</html>
在最简单的情况下,这需要很少的 JavaScript:
var selectEl = document.getElementById('fruits');
function labelChange () {
var label = document.querySelector('label[for="' + this.id + '"]');
label.textContent = 'You chose: ' + this.value;
}
selectEl.addEventListener('change', labelChange);
尽管上面的代码是为实现addEventListener()
和document.querySelector()
方法的当代/现代浏览器而设计的。
为了获得更多的向后兼容性,以下内容也可以使用,尽管它比我想要的有点“笨拙”:
var selectEl = document.getElementById('fruits');
function labelChange () {
var labels = document.getElementsByTagName('label'),
text = 'textContent' in document ? 'textContent' : 'innerText',
label;
for (var i = 0, len = labels.length; i<len; i++) {
if (labels[i].htmlFor == this.id) {
label = labels[i];
}
}
label[text] = 'You chose: ' + this.value;
}
selectEl.onchange = labelChange;