Javascript 两个带有“其他”选项的选择框

Javascript 两个带有“其他”选项的选择框,javascript,html,html-select,Javascript,Html,Html Select,我有一个带有“其他”选项的“选择”字段的工作代码,当选择“其他”时,它会显示一个文本框。但是,我在为同一页上的两个选择框编写代码时遇到了问题 这是我的剧本 函数切换字段值{ var o=document.getElementById'other'; val='Other'?o.style.display='block':o.style.display='none'; } 只是个粉丝 每天的 一周几次 一个月几次 另外 街头滑板 下坡 即兴说唱 水池和碗 垂直半管 公园 小坡道 其他1 如果我理

我有一个带有“其他”选项的“选择”字段的工作代码,当选择“其他”时,它会显示一个文本框。但是,我在为同一页上的两个选择框编写代码时遇到了问题

这是我的剧本

函数切换字段值{ var o=document.getElementById'other'; val='Other'?o.style.display='block':o.style.display='none'; } 只是个粉丝 每天的 一周几次 一个月几次 另外 街头滑板 下坡 即兴说唱 水池和碗 垂直半管 公园 小坡道 其他1
如果我理解正确,您希望在选择Other1时让第二个SELECT标记显示第二个输入框,就像第一个用于Other的输入框一样

你真的很接近,但是你的Javascript需要一些调整。您当前正在测试Other的已更改元素,然后更改对象o的显示,对象o是对id为Other的元素的引用。您将需要在此逻辑上展开,以包括带有Other1选项的新选择框和相应的输入框

所以,你可能需要做一些像

<SCRIPT TYPE="text/javascript">
function toggleField(val) {
  var o = document.getElementById('other');
  var o1 = document.getElementById('other1');
  (val == 'Other')? o.style.display = 'block' : o.style.display = 'none';
  (val == 'Other1')? o1.style.display = 'block' : o1.style.display = 'none';
}
</SCRIPT>

这将把相同的功能从第一个选择扩展到第二个选择。

如果我理解正确,您希望在选择Other1时,让您的第二个选择标记显示第二个输入框,就像第一个选择标记显示其他输入框一样

你真的很接近,但是你的Javascript需要一些调整。您当前正在测试Other的已更改元素,然后更改对象o的显示,对象o是对id为Other的元素的引用。您将需要在此逻辑上展开,以包括带有Other1选项的新选择框和相应的输入框

所以,你可能需要做一些像

<SCRIPT TYPE="text/javascript">
function toggleField(val) {
  var o = document.getElementById('other');
  var o1 = document.getElementById('other1');
  (val == 'Other')? o.style.display = 'block' : o.style.display = 'none';
  (val == 'Other1')? o1.style.display = 'block' : o1.style.display = 'none';
}
</SCRIPT>

这将把相同的功能从第一个选择扩展到第二个选择。

这就是您想要的效果吗?这就是你想要的效果吗?这正是我丢失的var o1=document.getElementById'other1';您必须将其标记为所选答案。顺便说一句,根据您对Javascript的期望,您可能希望更改测试val==。。。。实际上,两个文本框中只有一个会显示。您可能希望获取对选择和使用选项[]的引用。选定值。如果你需要更多的解释,请告诉我。是的,你说得对。因为我正在使用val==。。。作为选择器,任何用户输入到其他文本字段中的内容都显示为other或Other1。他们的输入不会改变值。如果您有任何建议,我们将不胜感激。谢谢函数toggleFieldval{var o=document.getElementById'other';var o1=document.getElementById'other1';var opt=document.getElementById'i_skate';var opt1=document.getElementById'my-style';opt.options[opt.length-1]。选中的?o.style.display='block':o.style.display='none';opt1.options[opt1.length-1].selected?o1.style.display='block':o1.style.display='none';}关于您的评分问题,我的答案左侧应该有一个复选标记,您可以单击该复选标记将其标记为已接受的答案。这正是我遗漏的内容var o1=document.getElementById'other1';您必须将其标记为所选答案。顺便说一句,根据您对Javascript的期望,您可能希望更改测试val==。。。。实际上,两个文本框中只有一个会显示。您可能希望获取对选择和使用选项[]的引用。选定值。如果你需要更多的解释,请告诉我。是的,你说得对。因为我正在使用val==。。。作为选择器,任何用户输入到其他文本字段中的内容都显示为other或Other1。他们的输入不会改变值。如果您有任何建议,我们将不胜感激。谢谢函数toggleFieldval{var o=document.getElementById'other';var o1=document.getElementById'other1';var opt=document.getElementById'i_skate';var opt1=document.getElementById'my-style';opt.options[opt.length-1]。选中的?o.style.display='block':o.style.display='none';opt1.options[opt1.length-1].selected?o1.style.display='block':o1.style.display='none';}关于您的评分问题,我的答案左侧应该有一个复选标记,您可以单击该复选标记将其标记为已接受的答案。