【问题标题】:update value as selected value in EnumDropDownList将值更新为 EnumDropDownList 中的选定值
【发布时间】:2025-12-07 10:25:01
【问题描述】:

我创建了DropDownListEnumDropDownList

DropDownList 中的每个选项在EnumDropDownList 上都有一个同名的选项。

我选择了用户从DropDownList 中选择的一个选项,我想更新EnumDropDownList 这个特定选项是由用户选择的。

我的 DropDownList 有一个 ID (id="ImageTypeDropDown")
我的EnumDropDownList 有一个id ("id="FileTypeDropDown")

如何修复线路:

document.getElementById('FileTypeDropDown2').options.find(wantedOption).Selected=true; 



    <script>
      function adjustFitted() {            
            var e = document.getElementById('ImageTypeDropDown');
            var wantedOption = e.options[e.selectedIndex].text;   // the option user chose - works well:)                         

            document.getElementById('FileTypeDropDown2').options.find(wantedOption).Selected=true;           

            return false;
        }
    </script>

【问题讨论】:

    标签: javascript c# asp.net asp.net-mvc enumdropdownlistfor


    【解决方案1】:

    你们很亲密。

    function adjustFitted() {
            var targetVal = document.getElementById('ImageTypeDropDown').value;
    
    
            var targetDropDown = document.getElementById('FileTypeDropDown2');
    
            for (var i = 0; i < targetDropDown.options.length; i++) {
                if (targetDropDown.options[i].value == targetVal) {
                    targetDropDown.options[i].selected = true;
                }
            }
    
    
            return false;
        }
    

    【讨论】:

    • 它没有用。所以我在屏幕上打印:window.alert(document.getElementById('FileTypeDropDown2').value);在屏幕上显示 0。你能告诉我有什么问题吗?
    • 请确保您的选项(我假设是 ListItems)设置了“值”属性,例如&lt;asp:ListItem Text="a" Value="a" /&gt; &lt;asp:ListItem Text="b" Value="b" /&gt;
    • 下拉列表的定义是:`

      @Html.EnumDropDownListFor(model => model.FittedEnumFileType, new { @id = "FileTypeDropDown2", @class= "form-control" })
      `
    • 抱歉,我没有意识到您正在使用 ASP.NET MVC。我已经编辑了一个函数的答案,希望对你有用。
    • @NoahKo,我的回答解决了你的问题吗?如果是这样,请将我的答案标记为正确,这样该线程就不会保持打开状态。