2011-05-31 72 views
0

需要幫助建立卡斯卡迪亞jQuery的下拉需要幫助建立卡斯卡迪亞jQuery的下拉

我很新的jQuery和不知道如何做到這一點。我做了一個快速示例項目來嘗試它,但沒有任何地方在jQuery的一面。

這是我的模型。

public class Life 
{ 
    public static List<Life> MyList = new List<Life> 
    { 
     new Life {first="Animal",second="Mammal",third ="human"}, 
     new Life {first="Plant",second="Tree",third ="cherry"}, 
     new Life {first="Plant",second="Grass",third ="rye"}, 
     new Life {first="Plant",second="Tree",third ="oak"} 
    }; 

    public string first {get; set;} 
    public string second {get; set;} 
    public string third {get; set;} 
} 

我想創建一個有3個下拉的視圖。第一個填充第一行,然後第二行進入第二個下拉列表等。所以首先下拉將有動物和植物。 如果你選擇植物,你不會在第二個下拉菜單中看到哺乳動物。

那裏有很好的例子嗎?或者我如何將這個示例模型應用到這樣的視圖中?

+0

我可以假設你正在引用一個MVC.net項目? – Nealv 2011-05-31 12:13:24

+0

我的不好。是的,我正在使用asp.net mvc 2。 – Maestro1024 2011-05-31 12:23:47

回答

0

創建此類下拉列表的最酷方式是使用html助手。我創建了一個語言選擇器(我的基礎很好,數據應該來自db等,但我沒有時間)。這會給你一個想法強硬:

下拉幫手:

public static class HtmlHelpers 
    { 
     public static MvcHtmlString LanguageDropDownListFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression) 
     { 
      var dutch = new SelectListItem() { Selected = true, Text = "nl-be", Value = "nl-be" }; 
      var french = new SelectListItem() { Selected = false, Text = "fr-be", Value = "fr-be" }; 
      var list = new List<SelectListItem> { dutch, french }; 
      return html.DropDownListFor(expression, list); 
     } 
} 

然後,我有一個模型(只有語言領域對你很重要!):

public class Answer 

{ 
    [Key] 
    public Guid Id { get; set; } 

    public Guid QuestionId { get; set; } 
    public virtual Question Question { get; set; } 

    public string Text { get; set; } 

    [MaxLength(5)] 
    public string Language { get; set; } 
    public int Order { get; set; } 

    public virtual ICollection<UserAnswer> UserAnswers { get; set; } 
} 

,然後在鑑於使用:

@Html.LanguageDropDownListFor(model => model.Language) 
    @Html.ValidationMessageFor(model => model.Language) 

如果您需要更多的幫助,讓我知道:)