根据用户的选择更改占位符文本
Changing the placeholder text based on the users choice
jQuery是允许的,但首选仅HTML的解决方案。
我有一个选择框,里面有几个选项。当用户选择"姓名"时,我希望占位符文本"输入您的姓名"显示在相邻的文本框中。
"ID"->"输入您的ID"也是如此。
请参阅http://jsfiddle.net/Uy9Y3/
<select>
<option value="-1">Select One</option>
<option value="0">Name</option>
<option value="1">ID</option>
</select>
<input type="text">
这是一个客户的要求,我一直没能弄清楚。
如果有帮助的话,该网站正在使用Spring框架。
由于在选择更新时需要更新占位符,因此需要使用javascript进行更新。
您可以使用HTML5data-
样式的属性在每个option
元素上设置要显示为属性的占位符。然后使用jQuery附加一个更改事件侦听器,该侦听器将更新输入框的占位符属性。
请注意,占位符属性在旧版本的IE中没有任何作用,因此如果您需要支持旧版本的IE,则需要使用另一个库来填充该功能。
工作演示
HTML
<select id="mySelect">
<option data-placeholder="" value="-1">Select One</option>
<option data-placeholder="Enter your name" value="0">Name</option>
<option data-placeholder="Enter your ID" value="1">ID</option>
</select>
<input id="myInput" type="text">
jQuery
$('#mySelect').on('change', function() {
var placeholder = $(this).find(':selected').data('placeholder');
$('#myInput').attr('placeholder', placeholder);
});
它需要JavaScript。您可以在内联中执行它——如果这只是HTML的意思的话。
<select onchange="document.querySelector('input').setAttribute('placeholder', 'Enter your ' + this.options[this.selectedIndex].text);"></select>
有关如何做到这一点的示例,请参阅以下jsfiddle:
http://jsfiddle.net/sW6QP/
请注意,这只是使用jQuery,因为jsfiddle似乎无法找到放置在onChange事件中的函数。
如果你想在没有jQuery的情况下完成,请将选择行更改为:
<select id="selectionType" onChange="setPlaceholder();">
而不是$("#selectionType").on("change",function() {
,而是这样做:
function setPlaceholder() {
(确保也将});
更改为}
)
相关文章:
- 输入占位符文本转换CSS样式
- 谷歌翻译,输入类型='文本'中的占位符文本
- 函数来替换占位符文本
- 如何设置元素的占位符文本 我无法编辑 HTML 并且 ID 正在更改
- 初始化后更改输入字段的占位符文本
- 单选插件的占位符文本不起作用
- 在空输入字段中显示占位符文本
- 基于PHP if条件更改文本区域占位符文本
- 如何缓慢地遍历 jquery 循环,并每次替换占位符文本
- 获取占位符文本的父节点
- 版式中的占位符文本回退事件问题
- 以递归方式将占位符文本替换为变量的值
- 多选插件中的占位符文本不起作用
- 使用javascript将html占位符文本替换为html元素
- 忽略输入字段中占位符文本的PHP脚本
- 根据用户的选择更改占位符文本
- 使用jQuery交换输入字段占位符文本
- 如何在jQuery数据表上添加带有搜索图标的占位符文本
- 输入字段总是提示输入,而不是显示占位符文本
- 占位符文本在IE中不带项目符号.使用chrome可以很好地工作