【问题标题】:Use Item from ViewModel in jquery在 jquery 中使用 ViewModel 中的项目
【发布时间】:2017-05-05 06:47:37
【问题描述】:

在我的 ViewModel 中,我有一个 ThemesFilterList:

public IEnumerable<SelectListItem> ThemesFilterList { get; set; }

我想使用 javascript/jquery 将此列表作为 &lt;select&gt; 元素附加到我的 &lt;td&gt; 元素。

所以,类似:

var td = $(this); //current <td> element.
var ThemesFilterList = @Html.Raw(Json.Encode(Model.ThemesFilterList)); // using my ThemesFilterList from Model.
td.append(ThemesFilterList);

【问题讨论】:

标签: javascript c# jquery html razor


【解决方案1】:

所以ThemesFilterList 变量将有一个JSON 对象。

var ThemesFilterList = @Html.Raw(Json.Encode(Model.ThemesFilterList));

从这里你可以简单地循环这个 JSON 对象

var filterstr = '<select>';

for(var i = 0; i < ThemesFilterList.length; i++) {
    filterstr += '<option>' + ThemesFilterList[i].Value + '</option>';
}

filterstr += '</select>'

td.append(filterstr);

Fiddle

【讨论】:

  • 我希望直接将var ThemesFilterList 添加为&lt;select&gt; 而无需先遍历内容。
  • 如果将ThemesFilterList 渲染为有效的DOM 元素,那么您可以直接追加。但是你仍然需要一些逻辑来渲染它,只是这次它会在服务器端。
猜你喜欢
  • 2011-04-30
  • 2018-01-15
  • 2018-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-09
相关资源
最近更新 更多