我有一个从 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/