我试图根据 HTML 中下拉菜单的 onchange 属性将存储在 div 标签内的值传递给 JavaScript 函数。
但是什么都没有通过。显示未定义的错误。
这是我的代码:
假设 $temp_c
的值为 30。
<span id="temperature_div"><?php echo $temp_c; ?></span>
<label for="ddl_temptype"></label>
<select id="ddl_temptype" name="ddl_temptype" onchange="choose_temperature(this.value,temperature_div.value,temperature_div.name); ">
<option value="celcius" selected>°C</option>
<option value="farenheit">°F</option>
</select>
和 JavaScript
function choose_temperature(conv, value, name) {
alert(conv);
alert(value);
alert(name);
}
我哪里出错了?
最佳答案
在 JavaScript 中,您不能仅使用 Temperature_div
作为变量并假设它将是 ID 为 Temperature_div
的对象。有一些函数可以从 DOM 中获取元素。在纯 JavaScript 中:document.getElementById('Temperature_div')
将返回该元素。如果您使用 JQuery,则 $('#Temperature_div')
会执行类似的操作。
编辑:
试试这个功能:
function choose_temperature(conv) {
alert(conv);
var element = document.getElementById('temperature_div');
alert(element.innerHTML);
alert(element.attributes["name"].value);
}
调用者:choose_temp(this.value);
编辑:更改为使用 innerHTML
和 attributes["name"].value
而不是 value
和 name
>。我假设这些就是我们想要的。
关于javascript - 如何将 div 标签的 id、名称和值传递给 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25484845/