首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用jQuery更改选择框选项时更改输入框占位符

使用jQuery更改选择框选项时更改输入框占位符
EN

Stack Overflow用户
提问于 2019-02-18 09:44:37
回答 1查看 176关注 0票数 1

我已经创建了一个输入框,如果选择框的选定选项发生更改,则占位符也会更改。请看一下小提琴:https://jsfiddle.net/dL2aqckj/2/

这是html:

代码语言:javascript
运行
复制
<select id="selector">
<option value="book">Book</option>
<option value="journal">Journal</option>
<option value="newspaper">Newspaper</option>
</select>
<input type="text" id="searchbox" placeholder="Find Book" size="20">

这就是JavaScript:

代码语言:javascript
运行
复制
var selector = $("#selector");
var searchbox = $("#searchbox");

selector.on("change", function () {

  searchbox.attr('placeholder', "Find " + selector.find(':selected').text()
)});

这一切都运行得很好。现在,我希望占位符包含自定义文本,而不仅仅是选择框选项的名称。因此,我尝试将选择框中的选定选项与一些占位符文本相匹配。这就是小提琴:https://jsfiddle.net/2x5m746e/1/

JavaScript代码:

代码语言:javascript
运行
复制
var placeholderText = {
    "book": "Enter book ID",
    "journal": "Enter journal ID",
    "newspaper": "Enter newspaper ID",
};

var selector = $("#selector");    
var searchbox = $("#searchbox");  

selector.on("change", function () {

  searchbox.attr('placeholder', searchbox.val(placeholderText[selector.find(':selected').text()])
)});

它不会正确更改占位符。我做错了什么?任何建议都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-18 10:17:13

由于您的placeholderText对象中的键是bookjournalnewspaper,因此您希望获取placeholderText['book']placeholderText['journal']

所以你应该得到的值,而不是所选项目的文本,因为在你的超文本标记语言代码中,你在选项中的值是bookjournal & newspaper

代码语言:javascript
运行
复制
var placeholderText = {
	  "book": "Enter book ID",
    "journal": "Enter journal ID",
    "newspaper": "Enter newspaper ID",
};

$("#selector").on("change", function () {
  $("#searchbox").attr('placeholder', placeholderText[$(this).find(':selected').val()]);
});
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="selector">
  <option value="book">Book</option>
  <option value="journal">Journal</option>
  <option value="newspaper">Newspaper</option>
</select>
<input type="text" class="form-control" id="searchbox"  placeholder="Enter book ID" size="20">

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54739400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档