Javascript根据选择隐藏输入字段更改文本而不是值

标签 javascript jquery

我有一个从 SQL 填充的下拉列表(选择)。这是动态的,因此可以随时更改。我需要根据所选项目的文本而不是其值隐藏输入字段。这是我当前的代码:

<select name='addEventEventName' style="width:180px" id="addEventEventName" onchange="EventChanged(this)">

                </select>
                <script>                    
                    function EventChanged(changedEvent) 
                    {
                        if (changedEvent.value == "val1" || changedEvent.value == "val2")
                        { $("#jmtest").hide(); }
                        else
                        { $("#jmtest").show(); }
                    }
                </script>

现在效果很好。但如果“val1”和“val2”将来发生变化,它就会崩溃。

我想使用疾病 (val1) 和假期 (val2)。我需要改变什么?

最佳答案

<script type="text/javascript">                    
function EventChanged(selectEl) 
                    {
  var text = selectEl.options[selectEl.selectedIndex].text;
  if (text == "Sickness" || text == "Holiday")
     { $("#jmtest").hide(); }
  else
     { $("#jmtest").show(); }
}
</script>

是这个吗。我发现使用文本标签作为任何数据决策的基础通常是不好的做法。这打破了 MVC 模式。

关于Javascript根据选择隐藏输入字段更改文本而不是值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5167460/

相关文章:

javascript - 如何跳过或忽略 javascript/jquery 中的错误?

javascript - 从 Gutenberg SelectControl 获取值(value)到前端的 php

javascript - 扩展 highcharts 渲染器符号以具有加号

javascript - backbone.js - 处理用户是否登录

javascript - 全屏 html 页面和无黑边的全屏视频

javascript - JS事件不改变输入禁用属性

javascript - 从 laravel echo 中调用 vue.js 函数时出错

jquery - 禁用 JQuery 后无法重新启用 select 标签

javascript - jQuery动态高度问题

javascript - WordPress admin-ajax 在面向查看者的一侧返回 "0"