【发布时间】:2011-04-03 14:35:59
【问题描述】:
我正在使用 API 在我正在制作的网站上创建事件搜索引擎。 API 以 JSON 格式返回数据,我已使用 jQuery 成功地将其解析为 HTML。每个事件结果中都有一个表单,因此用户可以保存结果以供以后查看。我的问题是为每个创建的表单创建单独的点击处理程序。目前每个表单都有自己唯一的 id,但我的 ajax 函数由提交按钮类调用,这对于搜索结果中的所有表单显然是相同的。我不确定的是如何将唯一的表单 ID 传递给我的点击功能。
下面的循环是我遍历 JSON 结果并将它们作为 HTML 输出的地方
for (var i = 0, l = events.length; i < l; i++) {
$('.json').append('<div class="gig-listing"><p>'+ events[i].displayName + events[i].location.city + '<br/>' +
'<a href="' + events[i].uri +'" target="_blank" class="gig-link">More info/tickets</a></p><div id="user-preferences-gigs"><ul><?php if ($session->is_logged_in()) { ?><li class="favourite"><form class="gig-search-results" id='+[i]+'><input type="hidden" id="gid" value='+ events[i].id +' /><input type="hidden" id="uid" value="<?php echo $session->user_id; ?>" /><button type="submit" value="Submit" class="gig-favourite-button"><span>Favourite gig</span></button></form></li><?php } ?><li class="share_fb">Share on Facebook</li><li class="default">Explore artist</li></ul></div><br style="clear:both"</div>');
}
我的 ajax 请求的开始是由这个点击处理程序触发的
$('.gig-favourite-button').click(function() {
我认为我需要做的是获取所有唯一的表单 ID 作为要在此处理程序中调用的实例名称,即像这样:
$(#'0,#1,#2,#3').click(function() {
我还需要能够在启动附近搜索时移除点击事件。任何帮助将不胜感激。
干杯
【问题讨论】: