Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改每个选项的占位符文本_Javascript_Jquery_Html - Fatal编程技术网

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=”“;”替换为占位符吗?这就是你的意思吗?对你有帮助吗?