javascript - Get dropdownlist selected option from C# list of objects -
i have list of objects receive in razor view in c#
@model ienumerable<project.models.evaluationobject> in each object of ienumerable have property called "maxvalue" want put selected in input select of html.
foreach(var item in model){ <select> <option value=1>one</option> <option value=2>two</option> <option value=3>three</option> <option value=4>four</option> </select> } for each item want build select input value of item.maxvalue selected
i.e. in first loop item.maxvalue = 3, should build next select:
<select> <option value=1>one</option> <option value=2>two</option> <option value=3 selected="selected">three</option> <option value=4>four</option> </select> the item.maxvalue ever between 1 , 4, if value 3 selected value in select input 3.
the first solution had, put if statement in each option, think that's impractrical:
foreach(var item in model){ <select> <option value=1 @if(item.maxvalue==1){<text>selected="selected"</text>})>one</option> <option value=2 @if(item.maxvalue==2){<text>selected="selected"</text>}>two</option> <option value=3 @if(item.maxvalue==3){<text>selected="selected"</text>}>three</option> <option value=4 @if(item.maxvalue==4){<text>selected="selected"</text>}>four</option> </select> } hope can me, may should use javascript.
you can add ienumerable<selectlistitem> model:
model:
public class evaluationobject { public ienumerable<selectlistitem> evaluationlist { { return enumerable.range(1, 4) .select(x => new selectlistitem { selected = x == maxvalue, text = numbertoword(x), value = x }); } } public int maxvalue { get; set; } public int evaluationnumber { get; set; } } view:
foreach (var item in model) { @html.dropdownlistfor(x => x.evaluationnumber, item.evaluationlist) }
Comments
Post a Comment