使用javascript从MVC列表中获取特定列

get specific column from list in mvc using javascript

本文关键字:获取 列表 javascript MVC 使用      更新时间:2023-09-26

我是新的MVC,并试图建立一个简单的web应用程序。

我有一个类- listtitems

public class ListItems
{
    public string Display { get; set; }
    public string Value { get; set; }
    public string Area { get; set; }
    public string LongDescription { get; set; }
}

From controller -

我正在使用函数填充下拉列表的值。数据填充到listtitems

 List<ListItems> Lst= new List<ListItems>();
        string query = @"SELECT DISTINCT A.[COLA],A.[COLB],[COLC] FROM tableA ";

获取Dataset ds

ListItems item;
foreach (DataRow row in ds.Tables[0].Rows)
                {
                item = new ListItems();
item.Value = DBBase.ConvertToString(row["COLA"], string.Empty);           
item.Display = DBBase.ConvertToString(row["COLB"], string.Empty);
item.Area = DBBase.ConvertToString(row["COLC"], string.Empty);
                    statusList.Add(item);
            }

View

@Html.DropDownListFor(model => model.COLA, new SelectList(Model.VenueList, "Value", "Display","Area"), "- Please select a Value-", new { id = "lstA" })

现在,我需要在javascript中获得下拉列表'lstA'的'区域'列的值打开按钮,点击

在javascript

function AB(){
$('#lstVenue :selected').val(); // this gives selected value
}

如何获得列"面积"的值?

由于下拉列表不能绑定3个值,因此必须将ValueArea设置为具有唯一字符(我使用'#'作为示例)的选项值,如下所示:

// Make sure '#' doesn't appear on "Value" nor "Area" 
@Html.DropDownListFor(model => model.COLA, new SelectList(Model.VenueList.Select(v => new { Display = v.Display, Value = string.Concat(v.Value, "#", v.Area) }), "Value", "Display"), "- Please select a Value-", new { id = "lstA" })

然后,你可以用JavaScript(jQuery)得到"Value"answers"Area",像这样:

var selected = $('#lstA :selected').val();
var splited = selected.split("#");
var value = splited[0];
var area = splited[1];
if (area == "0"){
    // Do something
}