从基于JavaScript中的属性值的对象数组中select
我有JSON对象有几个属性,如ID和名称。 我将它们存储在一个JavaScript数组中,然后基于一个下拉列表,我想根据它的id从JavaScript数组中检索对象。
假设一个对象有id和name,我怎么从我的数组variables中select它们?
var ObjectsList = data; var id = $("#DropDownList > option:selected").attr("value"); ObjectsList["id=" + id];
既然你已经有了jQuery,你可以使用$.grep
:
查找满足filterfunction的数组元素。 原始数组不受影响。
所以像这样的东西:
var matches = $.grep(ObjectsList, function(e) { return e.id == id });
这将在数组matches
中为您留下来自ObjectsList
的匹配项的数组。 上面假设ObjectsList
具有这样的结构:
[ { id: ... }, { id: ... }, ... ]
如果你知道只有一场比赛,或者你只想要第一场比赛,那么你可以这样做:
for(var i = 0, m = null; i < ObjectsList.length; ++i) { if(ObjectsList[i].id != wanted_id) continue; m = a[i]; break; } // m is now either null or the one you want
for
循环的方法有很多变化,很多人会对我表示不满,因为他们认为continue
是一个坏词, 如果你不喜欢continue
那么你可以这样做:
for(var i = 0, m = null; i < ObjectsList.length; ++i) { if(ObjectsList[i].id == wanted_id) { m = ObjectsList[i]; break; } }
- Html.DropDownList – 禁用/只读
- URL中的URL编码斜线
- 为什么我的CSS捆绑不能使用bin部署的MVC4应用程序?
- 什么是jQuery Unobtrusivevalidation?
- Visual Studio 2013不能在cshtml中debuggingjavascript
- Html5的占位符与.NET MVC 3razorEditorFor扩展?
- jqgrid + EF + MVC:如何在Excel中导出? 你build议哪种方法?
- 在ASP.NET MVC中更改视图的布局(主页)而不重新创build它
- 没有MediaTypeFormatter可用于从媒体types为“text / plain”的内容读取“String”types的对象,