获取动态添加元素的值

时间:2011-10-10 14:01:49

标签: c# jquery asp.net-mvc-3

我无法使用jquery获取动态添加元素的值。

public IEnumerable<GroupDetail> GroupDetaile { get; set; }返回null

我该怎么做才能获得价值?

我的模特:

public class elementmodel
{
    public group MyGroup { get; set; }
    public IEnumerable<GroupDetail> MyGroupDetail { get; set; }
}

我的观点:

function new() {
    var items = '@foreach(SelectListItem item in (SelectList)ViewData["Ceasers"]){<option value="@item.Value">@item.Text</option>}'
    i = i + 1
    $("#mytable").append("<tr><td><div id='dive" + i + "'><select name='MyGroupDetail[" + i + "].cea_id'>" + items + "</select><input type='button' value='-' id='buttonminus" + i + "' class='bumblebutton' style='width:5%;' onclick='removeelem(" + i + ")' /></div></td></tr>");
}

我想用动态添加的元素值字段来填充它:

public IEnumerable<GroupDetail> MyGroupDetail { get; set; }

我尝试使用此方法:

name='MyGroupDetail[" + i + "].cea_id'

但不知怎的,我仍然得到空值..

1 个答案:

答案 0 :(得分:0)

好吧发现了!我的代码工作正常,我需要的是0

 $('document').ready( function() {
    var items = '@foreach(SelectListItem item in (SelectList)ViewData["Ceasers"]){<option value="@item.Value">@item.Text</option>}'
    i = 0;
    $("#mytable").append("...<select name='MyGroupDetail[" + i + "].cea_id'>" + items + "</select>...");
 });

它的全部原因是:public IEnumerable<GroupDetail> MyGroupDetail { get; set; }

IEnumerable项始终以0开头,因此动态元素也应以0开头,以便重新获取值。