// Get the <select> element
var selectElement = document.querySelector('select[name="current_weather"]');
// Get the <input> element where you want to display the icon
var tagBox = document.getElementById('tag_box');
// Add an event listener to the <select> element
selectElement.addEventListener('change', function () {
var selectedValue = parseInt(selectElement.value);
if (selectedValue === 1) {
tagBox.innerHTML = '<i class="fas fa-cloud-rain"></i>'; // FontAwesome icon for rainy
} else if (selectedValue === 2) {
tagBox.innerHTML = '<i class="fas fa-cloud"></i>'; // FontAwesome icon for cloudy
} else {
tagBox.innerHTML = ''; // Clear the content if the value is not 1 or 2
}
});
/* if you already have jquery don't write this next line */
<script src="<path to jquery.min.js>"></script>
<script type="text/javascript">
let weatherSelector = $('select[name="current_weather"]');
weatherSelector.on('change', () =>
{
let tagBox = $('#tag_box');
let selectedValue = parseInt(event.target.value);
if (selectedValue == 1)
tagBox.find('i.fas').addClass('fa-cloud-rain').removeClass('fa-cloud');
else if (selectedValue == 2)
tagBox.find('i.fas').addClass('fa-cloud').removeClass('fa-cloud-rain');
else
tagBox.find('i.fas').removeClass('fa-cloud fa-cloud-rain');
});
</script>
2条答案
按热度按时间62lalag41#
别担心,你的问题一点也不愚蠢,你试图学习和解决问题是很好的。要根据下拉列表中的所选选项动态更改输入文本的内容并相应地显示FontAwesome图标,您可以使用JavaScript执行以下步骤:
1.在HTML中包含FontAwesome:确保您在HTML文件中包含了FontAwesome库。您可以通过在HTML文件的
<head>
部分中添加以下行来完成此操作:这将加载FontAwesome库,它提供了广泛的图标。
1.修改JavaScript代码:更新您的JavaScript代码,根据下拉列表中的所选选项设置相应的FontAwesome图标。下面是更新的代码:
1.更新您的HTML:确保您有一个id为“tag_box”的
<input>
元素,您希望在其中显示FontAwesome图标:现在,当您从菜单中选择一个选项时,相应的FontAwesome图标将显示在输入文本框中。如果选择的选项不是1或2,则输入框将被清除。
请记住调整JavaScript代码中的图标类,以匹配您希望从FontAwesome使用的特定图标。在这个例子中,我使用“fas fa-cloud-rain”表示下雨的图标,使用“fas fa-cloud”表示多云的图标。您可以在FontAwesome网站上找到更多图标,并根据需要自定义图标。
jvidinwx2#
与@MH BIPUL的答案相同,但在Jquery中,
假设这是你的html:
你可以从这里下载jquery(如果你还没有的话):
https://jquery.com/download/
在你的.html文件中(就在标签关闭之前):
此代码仍然可以根据您的senario进行调整。