Ajax调用json响应
问题描述:
我正在尝试应用ajax调用从json接收到的响应。Ajax调用json响应
在我的HTML下面。
<div id = "tabs">
<ul>
<li><A href="#ed_pro">Product Category</A> </li>
<li><A href="#ed_img">Add Image</A> </li>
<li><A href="#ed_txt">Add Text</A></li>
</ul>
<div id="ed_pro">
</div>
<div id="ed_img">
</div>
<div id="ed_txt">
</div>
</div>
和
function handleTabSelect(data) {
var items = '<ul>';
$.each(data, function(i, object) {
items += '<li><a id="main_cat" href=#>' + object.img_cat_des + '</a></li>';
});
items += '</ul>';
$('#ed_img').append(items);
flag = 1;
}
$('#main_cat').click(function() {
var url1 = $(this).attr("href");
alert(url1);
});
$("#tabs").tabs();
$("#tabs").bind("tabsselect", function(e, tab) {
if (flag == 0) {
jQuery.ajax({
type: 'POST',
url: '?q=design/lab_tab',
dataType: 'json',
data: 'slider_value=' + tab.index,
success: handleTabSelect,
error: function(xhr, status) {
alert(xhr.statusText);
}
});
}
});
正从JSON响应后,上面的脚本将追加为
<ul>
<li>
<a id="main_cat" href="#">Animals</a>
</li>
<li>
<a id="main_cat" href="#">Astrology</a>
</li>
</ul>
如何我可以申请进一步Ajax调用的列表。
在点击A HREF,它永远不会调用事先
$('#main_cat').click(function() {
var url1 = $(this).attr("href");
alert (url1);
});
感谢。
答
<a id="main_cat" href="#">Animals</a>
<a id="main_cat" href="#">Astrology</a>
-
Id
应该是唯一的,你有同样的id
=>无效HTML - 使用
on
多个元素,创造一个委托的事件处理程序。
固定标记:
<a class="main_cat" href="#">Animals</a>
<a class="main_cat" href="#">Astrology</a>
的Javascript:
$('staticContainer').on('click', '.main_cat', function(){
var url1 = $(this).attr("href");
alert (url1);
});
,就应该替换选择:staticContainer
获取最接近静态(存在于DOM ready)元素,其中包含新的锚点。
答
谢谢@gdoron,我明白了。
$('#ed_img').bind('click', '.main_cat',function(event){
var tg_element = $(event.target);
var url1 = tg_element.attr("href");
alert (url1);
});
问候, 帕布MK
谢谢..我有下面的代码$( '#ed_img')实现它。绑定( '点击', '.main_cat',函数(事件){ var tg_element = $(event.target); var url1 = tg_element.attr(“href”); alert(url1); }); – 2012-04-22 08:35:08
@PrabhuMK。很酷,你可以写出答案或接受这个答案。祝你好运! – gdoron 2012-04-22 09:03:08