在使用jQuery和PHP时,从“给我更多结果 - 在div.php下面”加载新数据会出现问题。 我的工具提示在下面使用'.live',但新加载的内容的值不可用。
现在,如何从新数据中获取信息,加载到div中,但(自然地)没有显示在页面代码中? : - )
如您所见,我只需要传递三个变量:main_memberID,like_section和like_id。
我在这里很丢失。所以任何帮助都非常感谢。
到目前为止,我在jQuery功能部分得到了这个:
$(".ClassToLike img[title]").live('hover', function() {
$('.ClassToLike img[title]').tooltip({ position: 'center left', offset: [0, -2], delay: 0 })
});
$('.like_something').live("click", function (event) {
var value = $(this).attr ( "id" );
$(this).attr({
src: '/img/icons/checked.gif',
});
$(".tooltip").live().html('you like ' + this.name);
$.ajax({
type : 'POST',
url : 'like_something.php',
dataType : 'json',
data: {
main_memberID: $('#main_memberID').val(),
like_section: $('#like_section').val(),
like_id: this.id,
},
success: function(){ //alert( 'You have just clicked '+event.target.id+' image');
},
error: function(){
alert('failure');
}
});
});
答案 0 :(得分:1)
我经常喜欢
<div class="like_something" id="div_memberID_sectionName_anotherID"/>
然后
$('.like_something').live('click',function(){
var info = $(this).attr('id'); // get the id
var infoArr = info.split('_'); // split the id into an array using the underscore
// retrieve your values
var memberID = infoArr[1];
var sectionName = infoArr[2];
var id = infoArr[3];
});
答案 1 :(得分:0)
要解决此问题,首先打开浏览器的请求面板,在Chrome中,它是开发工具中的“网络”标签。点击.like_something
时,是否发送了请求?是否有任何控制台错误?如果发送了请求,请查看“响应”选项卡,查看服务器发回的内容。
此外,您可以将需要与请求一起发送的数据存储在data-
prefix的属性中,如下所示:
<a href="#" class="like_something" data-section="section" data-member-id="Member id">
...
</a>
这很可能不是您的确切HTML,但您了解其工作原理。
然后你可以像这样在jQuery中检索它:
data: {
main_memberID: $(this).attr('data-member-id'),
like_section: $(this).attr('data-section'),
like_id: this.id,
},
我希望这有帮助!
答案 2 :(得分:0)
仍然在这个网站上工作,但这个是我的结束(根据内森的回答):
非常感谢大家的投入!内森给了我最好的方法来检索和传递我需要的信息。再次,这个地方很棒。感谢您的所有努力!