Javascript 更改每个选项的占位符文本
那么我该如何实现呢?我已经在下面尝试了这段代码,但它不起作用Javascript 更改每个选项的占位符文本,javascript,jquery,html,Javascript,Jquery,Html,那么我该如何实现呢?我已经在下面尝试了这段代码,但它不起作用 var placeholderText = { "Mobile": "0932-XXX-XXXX or 0932xxxxxxx", "Landline": "123-4567", "FAX": "+(country code)(area code)(fax number)", "Email": "sample@example.com", }; $("#ModalCont
var placeholderText = {
"Mobile": "0932-XXX-XXXX or 0932xxxxxxx",
"Landline": "123-4567",
"FAX": "+(country code)(area code)(fax number)",
"Email": "sample@example.com",
};
$("#ModalContactType").on("click", function () {
if (this.value != 0) {
$("#ModalDetail").val(placeholderText[$("#ModalContactType option:selected").text()]);
}
else {
$("#ModalDetail").val("");
}
});
这是我的HTML代码
<select id="ModalContactType">
<option value="0">--Please Select--</option>
<option value="1">Mobile</option>
<option value="2">Landline</option>
<option value="3">FAX</option>
<option value="4">Email</option>
</select>
--请选择--
可移动的
固定电话
传真
电子邮件
这里呢
<div class="input-group">
<div class="input-group-addon">Detail</div>
<input type="text" id="ModalDetail" class="form-control">
</div>
细节
删除javascript末尾的反勾(`),应该可以正常工作。另外,请确保在导入脚本之前定义了html标记。请参见Jquery中的以下代码:使用
onchange()
并添加jquery脚本
var占位符文本={
“手机”:“0932-XXX-XXXX或0932XXXXXX”,
“固定电话”:“123-4567”,
“传真”:“+(国家代码)(区号)(传真号码)”,
“电子邮件”:sample@example.com",
};
函数setPlaceholder(){
如果(this.value!=0){
$(“#ModalDetail”).val(占位符文本[$(“#ModalContactType选项:选中”).text());
}
否则{
$(“#ModalDetail”).val(“”);
}
}
--请选择--
可移动的
固定电话
传真
电子邮件
细节
我也在编写同样的代码,工作正常。问题是脚本移动到了body标记的末尾
var占位符文本={
“手机”:“0932-XXX-XXXX或0932XXXXXX”,
“固定电话”:“123-4567”,
“传真”:“+(国家代码)(区号)(传真号码)”,
“电子邮件”:sample@example.com",
};
$(“#ModalContactType”)。在(“单击”,函数(){
如果(this.value!=0){
$(“#ModalDetail”).val(占位符文本[$(“#ModalContactType选项:选中”).text());
}
否则{
$(“#ModalDetail”).val(“”);
}
});代码>
--请选择--
可移动的
固定电话
传真
电子邮件
细节
您要求的结果是什么?您想要实现什么并不明显-因为您发布的代码确实会更新输入-您是否想改为更改占位符
属性?i、 e.$(“#ModalDetail”).attr('placeholder',”)代码>它不工作,对于您遇到的问题没有任何线索。显然,这是行不通的,否则你为什么要在你最不想去的地方问一个问题,堆栈溢出!!调试101-检查浏览器开发人员工具控制台是否有错误-如果您的代码在加载HTML之前运行,你可能会得到错误标签javascript
并使用jquery
请查看我在javascript
或jquery
中的答案,有人能告诉我为什么它得到了-1吗?告诉我更多帮助\是的,是的!但是我怎样才能让文本保持在背景中,就像我在文本框中输入占位符文本时会消失一样?为了更方便用户,我应该将.value“document.getElementById(“ModalDetail”).value=”“;”替换为占位符吗?这就是你的意思吗?对你有帮助吗?