簡體   English   中英

使用HTMLHelper和“全部”的JavaScript選擇Droplist值在ASP .NET MVC4中不起作用

[英]JavaScript to choose droplist value not working in ASP .NET MVC4 with HTMLHelper and “All”

我正在使用JavaScript獲取MVC 4中下拉列表的選定值,但是我認為有一個問題是由HTMLHelper引起的。

控制器-填充下拉列表

private string PopulateStandard(object selectedValue = null)
{
    var query = db.Database
                  .SqlQuery<StandardModel>(
                        "SELECT * FROM [DBO].[GetStandards] ('" + 
                        User.Identity.Name + "', '" + DateTime.UtcNow + "')")
                  .ToList();

    ViewBag.Standard = new SelectList(query, "Standard", "Standard", selectedValue);

    try { return query[0].Standard; }
    catch { return ""; }
}

視圖

該視圖具有此部分的下拉列表。 請注意包含“全部”。 我認為這是問題所在。 這會將第一行放在下拉列表的頂部,並說“ All”(空)。 我要那個。 目前為止很好,那又如何)

@Html.DisplayNameFor(m => m.Standard)
@Html.DropDownList("Standard", "All")

JAVASCRIPT

這是一個很長的故事,但是我還有其他代碼需要我使用JavaScript獲取下拉列表的值,所以我這樣做是這樣的:

var e = document.getElementById("Standard");
var sStandard = e.options[e.selectedIndex].value;

問題

如果未選擇任何值,那么我應該獲得第一行,該行將為“ All”(文本)或“”(value)。 相反,我得到的是第二行,它是第一行,其中包含從數據庫填充的數據。

HTML助手是否導致我無法獲得第一行? 還是我的JavaScript關閉了?

編輯-在下拉列表上顯示ViewSource

這些是渲染列表的前幾行

<select id="Standard" name="Standard"><option value="">All</option>
<option value="2S">2S</option>
<option value="Aero">Aero</option>

@ Html.DropDownList(“ Standard”,“ All”)

這里的“全部”是選項標簽。 因此您不會獲得此價值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM