javascript - 如何根据下拉菜单中的选择显示图像?
问题描述
我希望我的网站由于选择仅包含文本的选项值而发布图像。例如:
<select name="facebook" id="facebook">
<option value="Facebook"> Facebook </option>
</select>
<button type="submit" name="submit"> Submit </button>
上面的选择标签显示了一个值为“Facebook”的选项。当您选择此选项并单击提交时,我希望网站根据所选的选项值发布 Facebook 徽标的图像(从文件夹或图像 URL 中检索)。
此外,我将值插入表中table_1
,并从表中选择值以在网站上回显它们。这是检索值并将它们作为文本发布的想法,但正如我所说,我想检索信息但发布图像。
解决方案
img
在您的按钮旁边添加一个没有源 ( src=""
) 的元素,然后使用 jQuery 修改它.attr()
。要查找从下拉列表 ( #select
) 中选择的选项,请使用:selected
选择器并获取它的值 ( val()
)。
$(document).on('click', '#submit', function() {
$('#logo').attr('src', '//via.placeholder.com/150?text=' + $('#select').find(':selected').val()); // replace this with whatever you want
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="logoSelect" id="select">
<option value="facebook"> Facebook </option>
<option value="twitter"> Twitter </option>
<option value="google"> Google </option>
<option value="instagram"> Instagram </option>
</select>
<button id="submit" type="submit" name="submit"> Submit </button>
<br/><br/>
<img id="logo" src=""></img>
您还可以通过使用纯 JavaScript 和onclick
和.selectIndex
方法来实现这一点:
const logoImgElem = document.getElementById('logo');
const selectElem = document.getElementById('select');
document.getElementById('submit').onclick = function() {
logoImgElem.src = '//via.placeholder.com/150?text=' + select.options[select.selectedIndex].text;
};
<select name="logoSelect" id="select">
<option value="facebook"> Facebook </option>
<option value="twitter"> Twitter </option>
<option value="google"> Google </option>
<option value="instagram"> Instagram </option>
</select>
<button id="submit" type="submit" name="submit"> Submit </button>
<br/><br/>
<img id="logo" src=""></img>
推荐阅读
- ajax - 如何在jsf中使用ajax事件向java发送附加参数
- python - requests.get 上的问题(使用 python 3.8),甚至设置 verify=False
- python - 在每个系统中保留字体
- c++ - Visual Studio Code C++ 调试器不调试
- azure - 逻辑应用诊断设置未导出
- flutter - 如何在 Flutter Web 中制作屏幕截图并将其发送到电子邮件?
- python-3.x - 如何在 PySimpleGUI 中对齐所有元素(例如文本框)?
- python - Pandas 将具有不同列的几行合并为一行
- java - 今天遇到一个完全陌生的字符,看起来像一个字母但不是一个字母
- javascript - Kineses 视频流 GETMEDIA API 问题