javascript - 单击datalist中的选项值时如何更改占位符文本
问题描述
当我尝试通过单击数据列表中的选项来更改值时,占位符中的值没有改变。当我选择“Farmer”时,得到“Farmer”,但我需要“Search Farmer Here...”等等。
<input type="text1" list="browsers" name="browser" id="browser" placeholder="Search Here..">
<datalist id="browsers" style="font-size:20pt;">
<option value="Farmer">
<option value="Input products">
<option value="Output products">
<option value="Customers">
<option value="Suppliers">
<option value="Sales Invoices">
<option value="Purchase Bills">
<option value="Payments">
<option value="collections">
</datalist>
我尝试通过如下方式传递 id
$("#yourtextboxid").attr("placeholder", "variable");
我也试过
document.getElementsByName('Email')[0].placeholder='new text for email';
但仍然没有得到所需的结果。我错过了任何语法吗?
解决方案
将事件侦听器添加到调用函数以替换值和占位符文本的输入。
const input = document.querySelector('#browser');
input.addEventListener('change', handleInput, false);
function handleInput(e) {
const { value, placeholder } = e.target;
e.target.placeholder = `Search ${value} here`;
e.target.value = '';
}
<input type="text" list="browsers" name="browser" id="browser" placeholder="Search Here..">
<datalist id="browsers">
<option value="Farmer">
<option value="Input products">
<option value="Output products">
<option value="Customers">
<option value="Suppliers">
<option value="Sales Invoices">
<option value="Purchase Bills">
<option value="Payments">
<option value="collections">
</datalist>
推荐阅读
- mysql - MySQL MHA binlog 设置检查失败
- android - Android Room 版本代码的用途是什么
- python - 在heroku上使用ffmpeg的内存限制错误
- python - 使用 psycopg2 将 io.StringIO / io.BytesIO 作为 Bytea 上传到 postgres
- r - R计算英国国家网格中两点之间的距离
- javascript - 用 JS 函数替换 href 链接
- python - 具有快速列和行删除的 2D 字典?
- firebase - Firebase 存储中基于角色的规则
- javascript - 如何按从右到左的顺序使用按钮显示输入?
- python - 多次请求文件上传到一个 URL 失败第二次