C# Razor 下拉列表 onchange selectedIndex undefined

C# Razor drop down list onchange selectedIndex undefined

我定义了以下下拉列表

@Html.DropDownList("shareId", new SelectList(
                              ViewBag.shareUsernames,
                              "value", "text"), 
                              new { htmlAttributes = new { @class = "form-control" }}))

和以下 jQuery 回调脚本

<script type="text/javascript">
    $("#shareId").change(function () {
        var myIndex = $("#shareId").selectedIndex
        var selValue = $("#shareId").options[myIndex].value
        $("#response").text = selValue
    });
</script>

我更改了下拉列表值并在 myIndex 赋值中捕获了未定义的错误。当我使用 chrome 调试器时,我看到 $("#shareId").selectedIndex 是 1。

那为什么不能赋值给myIndex呢?为什么 myIndex 未定义?

您混淆了 javascript 和 jQuery。使用 this.value 如下所示。

$("#shareId").change(function () {
    $("#response").val(this.value)
});