首页 > 解决方案 > jQuery 从 ListBox 中获取所选项目不起作用(ASP.NET MVC)

问题描述

我有一个引导模式,它在部分视图中显示操作结果的选择列表,如下所示。

<select name="searchListBox" size="15" class="form-control">
@foreach (Company comp in Model)
{
    @if (comp.Deleted)
    {
        <option value="@comp.Id" class="text-danger">@comp.Name</option>
    }
    else
    {
        <option value="@comp.Id">@comp.Name</option>
    }
}

这会将完整的 HTML 返回到 jQuery 表单插件,并在模式中设置一个元素并显示它,就像这样。

function showResponse(responseText, statusText, xhr, $form) {
            $("#searchSpinner").hide();
            $("#searchButton").removeAttr("disabled");
            $("#searchResultsList").html(responseText);
            $("#searchResultsModal").modal("show");
        }

这一切都很完美!

我遇到的问题是当我单击模态页脚中的“选择”按钮时,我无法获得所选值。这是我正在使用的代码

$("#btnSelect").click(function () {
            alert('you clicked select');
            var listbox = $("#searchListBox");
            alert(listbox);
            alert($("#searchListBox").children("option").length); //WHY IS THIS 0??
            var selected = $("#searchListBox option:selected").val();
            alert(selected);
            $("#searchResultsModal").modal("hide");
        })

列表框存在并返回一个对象,问题是它认为不存在任何选项元素并且子项返回长度为0?

这可能是什么原因造成的?抱歉,如果我没有很好地解释这一点,如果您需要更多信息,请告诉我。

标签: jqueryasp.net-mvc

解决方案


推荐阅读