2010-05-07 56 views
3

我试图实现的,是输出包含CSS类的列表的JSON列表,以及它们相应的网址记录,即是否有可能通过JSON结果与jQuery搜索

var jsonList = [{"CSSClass":"testclass1","VideoUrl":"/Movies/movie.flv"},{"CSSClass":"testclass2","VideoUrl":"/Movies/movie2.flx"}]; //]]> 

的foreach在我加入一个click事件类的列表项...

$.each(script, function() { 
     $("." + this.CSSClass, "#pageContainer").live('click', function(e) { 
      videoPlayer.playMovie(this); 
      return false; 
     }); 
    }); 

什么我不知道,是如果我能以某种方式得到从jsonlist相应的URL,不必重新通过他们所有的环,搜索CSSClass,或将链接作为属性添加到链接?

回答

2

您可以将索引和项目参数添加到$。每个方法的回调函数。

$.each(script, function(i, item) { 
    $("." + item.CSSClass, "#pageConainer").live("click", function() { 
     videoPlayer.playMovie(item.VideoUrl); 
     return false; 
    }); 
}); 
  • “我”将是JSON对象中的每个迭代的计数器
  • “项”将代表所使用的对象
1

当然,您只需捕获您的对象,以便点击函数的闭包在触发时可以访问正确的东西。像这样的东西应该工作:

$.each(script, function() { 
    var vid = this; 
    $("." + vid.CSSClass, "#pageContainer").live('click', function(e) { 
     videoPlayer.playMovie(vid.VideoUrl); 
     return false; 
    }); 
}); 
+0

正要回答相同。 +1 – 2010-05-07 05:38:59