Jquery 不存储在阵列中
在我的网页上,我有:Jquery 不存储在阵列中,jquery,ajax,Jquery,Ajax,在我的网页上,我有: function grabProfiles(searchstring) { $.post('newsletter.php?mode=grab', { search: searchstring }, function(data) { $('#newsletter_receivers').html(data); }); } $('#newsletter
function grabProfiles(searchstring) {
$.post('newsletter.php?mode=grab', { search: searchstring }, function(data) {
$('#newsletter_receivers').html(data);
});
}
$('#newsletter_searchprofiles').bind('keyup', function() {
var searchstring = this.value;
grabProfiles(searchstring);
});
$(document).ready(function() {
grabProfiles('');
});
这将结果输出到div元素#新闻稿#接收器中。结果如下所示:
<div class="receiver">
Peter
</div>
<div class="receiver">
Maria
</div>
<script>
$(".receiver").click(function () {
$(this).toggleClass("newsletter_receiver_highlight");
});
</script>
$('#newsletter_send').click(function(){
alert($('div.newsletter_receiver_highlight').length+' Selected');
var arr = [];
$('div.newsletter_receiver_highlight').each(function(){
arr.push(this.id);
});
alert(arr);
});
这给了我两个提醒。一个是对的,它给出了突出显示的数量。应该为我提供值的第二个警报为空
以前,当我没有发出ajax请求以输出接收器元素时,这种方法就起作用了。
我认为它是空的,因为第一次该页面在发出ajax请求之前没有包含任何内容。但它怎么能说出正确的长度呢
我如何修复/制定解决方案才能正常工作
//结论问题:
为什么每个()都不存在?还有其他方法吗?
例如:
$('div.newsletter_receiver_highlight').each(function(){
arr.push(this.id);
});
alert(arr);
这将存储所有当前元素的值,并突出显示“类通讯”\u receiver\u
如果我在请求-响应中添加一个带有类newsletter\u receiver\u highlight的div元素,它将不会存储到数组中如果某个元素首先不起作用,请尝试其他方法。我将使用
map
获取ID数组
var arr = $('div.newsletter_receiver_highlight').map( function() { return this.id; } ).get();
这将取代
.each()
我应该在哪里拥有它?我试图在显示所选内容的警报下重新发送(arr)。给我[对象]。。请看最新的问题,也许它会帮助更多实际上我的解决方案是不完整的。错过了.get()
确定尝试此操作,数组为空,我在警报中没有得到任何信息。就像每个