Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将变量传递到jquery负载选择器?_Jquery_Ajax_Load_Selector - Fatal编程技术网

如何将变量传递到jquery负载选择器?

如何将变量传递到jquery负载选择器?,jquery,ajax,load,selector,Jquery,Ajax,Load,Selector,我正在使用ajax在div中加载一个页面。当我有一个固定的选择器div,比如- $('.ajaxurl').click(function(){ $('.selected-blog').load($(this).attr('href')); return false; }); 此处“.selected blog”是一个固定条目 但是,我在页面上有多个.ajaxurl链接,每个链接都有各自的“.selected blog”div,因此我希望能够根据单击的.ajaxurl链接将源加载

我正在使用ajax在div中加载一个页面。当我有一个固定的选择器div,比如-

$('.ajaxurl').click(function(){
    $('.selected-blog').load($(this).attr('href'));
    return false;
});
此处“.selected blog”是一个固定条目

但是,我在页面上有多个.ajaxurl链接,每个链接都有各自的“.selected blog”div,因此我希望能够根据单击的.ajaxurl链接将源加载到不同的div中。换句话说,每个.ajaxurl链接都需要有一个对应的唯一的.selected blog-[id]类,单击该链接需要将[id]变量传递到函数中,以便将其附加到选择器中

我已经尝试给.ajaxurl链接一个id,作为变量传递给jquery,因此主体代码是-

<div class="teaser-id<?php print $id; ?>">
  <a class="ajaxurl" id ="id<?php print $id; ?>" href="[pagelink]">Click me</a>  
  stuff here
</div> 
<div class="selected-blog-id<?php print $id; ?>"></div>     

[this above code repeats for each teaser in the list] 
$('.ajaxurl').click(function(){
     var x = this.id;
     $('.selected-blog-,'+x).load($(this).attr('href'));
     return false;
});
但我不能让它工作,我做错了什么

(最后,如果它对解决方案有影响,这是另外一点-我想隐藏摘要-[id]div,因此如果传递的变量也可以用于这个.hide()函数,那就太好了!)

我该怎么做


非常感谢

您不需要将html变得如此复杂。您可以简单地使用jquery获取下一个div,其中包含类
选择的blog id
,以将内容加载到其中。 以下几点应该适合你:

HTML

<div class="teaser-id">
    <a class="ajaxurl" href="[pagelink]">Click me</a>  
    stuff here
</div> 
<div class="selected-blog-id"></div> 
$('.ajaxurl').click(function(e) {
    var $parent = $(this).parent();

    // hide the teaser
    $parent.hide();

    // load content into the next div with selected-blog-id
    $parent.next('.selected-blog-id').load(this.href);
    e.preventDefault();
});

你不需要让你的html如此复杂。您可以简单地使用jquery获取下一个div,其中包含类
选择的blog id
,以将内容加载到其中。 以下几点应该适合你:

HTML

<div class="teaser-id">
    <a class="ajaxurl" href="[pagelink]">Click me</a>  
    stuff here
</div> 
<div class="selected-blog-id"></div> 
$('.ajaxurl').click(function(e) {
    var $parent = $(this).parent();

    // hide the teaser
    $parent.hide();

    // load content into the next div with selected-blog-id
    $parent.next('.selected-blog-id').load(this.href);
    e.preventDefault();
});

您正在将
ajaxurl
元素打印为
id=“id”
,您是否打算改为执行
id=”“

您正在将
ajaxurl
元素打印为
id=“id”
,是否打算执行
id=“”
取而代之的是?

有几处内容似乎输入错误,否则您可能需要再次检查以下内容:

<div class="teaser-id-<?php print $id; ?>">
 <a class="ajaxurl" id ="blog-<?php print $id; ?>" href="[pagelink]">Click me</a>  
 <!-- <a class="ajaxurl" id ="id<?php print $id; ?>" href="[pagelink]">Click me</a> -->  
 stuff here
</div> 
<div class="selected-blog-<?php print $id; ?>"></div> 
<!-- <div class="selected-blog-id<?php print $id; ?>"></div> -->   

[this above code repeats for each teaser in the list] 
更新 根据评论更改此

$('.selected-blog-'+x).load($(this).attr('href'));

有几项内容似乎输入错误,否则您可能需要再次检查以下内容:

<div class="teaser-id-<?php print $id; ?>">
 <a class="ajaxurl" id ="blog-<?php print $id; ?>" href="[pagelink]">Click me</a>  
 <!-- <a class="ajaxurl" id ="id<?php print $id; ?>" href="[pagelink]">Click me</a> -->  
 stuff here
</div> 
<div class="selected-blog-<?php print $id; ?>"></div> 
<!-- <div class="selected-blog-id<?php print $id; ?>"></div> -->   

[this above code repeats for each teaser in the list] 
更新 根据评论更改此

$('.selected-blog-'+x).load($(this).attr('href'));

谢谢J.罗梅罗!我在这些部分中添加了文本“id”,因为$id是一个数字,根据我的理解,不能以数字开始id。例如,最终结果将是id=“id3”。我尝试了上面更改的代码,但无法使其工作。在这种情况下,jquery选择器与显示的id不匹配。
var x=this.id
x=id3,您选择的blog div是
selected-blog-id3
,但是jquery正在查找
$('.selected blog-,'+x)
,它被解释为类
。selected blog
id3
(不是正确的选择器),因为逗号。去掉逗号,它应该会起作用。谢谢J Romero!我没有意识到用逗号。非常有用!!谢谢J.罗梅罗!我在这些部分中添加了文本“id”,因为$id是一个数字,根据我的理解,不能以数字开始id。例如,最终结果将是id=“id3”。我尝试了上面更改的代码,但无法使其工作。在这种情况下,jquery选择器与显示的id不匹配。
var x=this.id
x=id3,您选择的blog div是
selected-blog-id3
,但是jquery正在查找
$('.selected blog-,'+x)
,它被解释为类
。selected blog
id3
(不是正确的选择器),因为逗号。去掉逗号,它应该会起作用。谢谢J Romero!我没有意识到用逗号。非常有用!!我在这些部分中添加了文本“id”,因为$id是一个数字,根据我的理解,不能以数字开始id。例如,最终的结果是id=“id3”。我在这些部分中添加了文本“id”,因为$id是一个数字,根据我的理解,不能以数字开始id。例如,最终结果将是id=“id3”。