Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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 扩展div-只希望单击的div在php echo中扩展_Jquery_Html_Echo - Fatal编程技术网

Jquery 扩展div-只希望单击的div在php echo中扩展

Jquery 扩展div-只希望单击的div在php echo中扩展,jquery,html,echo,Jquery,Html,Echo,我有一个数据库中的结果回送,我包含了jquery扩展代码来在单击标题时扩展div,但是当前当单击一个结果的标题时,所有其他回送div都会扩展 有没有人能帮我把它做成只有点击的div可以扩展的样子。谢谢你的帮助和建议 以下是脚本: <script type="text/javascript"> $(document).ready(function(){ $(".expanderHead").click(function(){ $("#expanderContent").slid

我有一个数据库中的结果回送,我包含了jquery扩展代码来在单击标题时扩展div,但是当前当单击一个结果的标题时,所有其他回送div都会扩展

有没有人能帮我把它做成只有点击的div可以扩展的样子。谢谢你的帮助和建议

以下是脚本:

<script type="text/javascript">
$(document).ready(function(){
$(".expanderHead").click(function(){
    $("#expanderContent").slideToggle();
    if ($("#expanderSign").text() == "+"){
        $("#expanderSign").html("−")
    }
    else {
        $("#expanderSign").text("+")
    }
});
});
</script>

$(文档).ready(函数(){
$(“.expanderHead”)。单击(函数(){
$(“#expanderContent”).slideToggle();
如果($(“#expanderSign”).text()=“+”){
$(“#expanderSign”).html(“−")
}
否则{
$(“#expanderSign”).text(“+”)
}
});
});
这是echo声明:

    echo "<table width='50%' style='border-bottom:1px solid #000000;'";
echo "<tr>";
echo "<td>";
echo "<div id='page-wrap'>";
echo "<div class='discounted-item freeshipping'>";

echo "<a href='./img/users/" . $row['category'] . "/" . $row['username'] . "/" . $row['filename'] . "' rel='lightbox'><img src=\"./img/users/" . $row['category'] . "/" . $row['username'] . "/" . $row['filename'] . "\" alt=\"\" width='15%' height='80%' /></a>";


echo "<div id='expanderHead'>";
echo "<div class='reasonbar'><div class='prod-title' style='width: 70%;'>" .$row['fname'] . "</div><div class='reason' style='width: 29%;'><b>". $row['firstname'] . " " . $row['surname'] ."</b></div></div>";


echo "<div id='expanderContent' style='display:none'><div class='reasonbar'><div class='prod-title1' style='width: 70%;'>" . $row['lname'] . "</div><div class='reason1' style='width: 29%;'>Category:<br /> ". $row['category'] . "</div></div></div>";

echo "<div class='reasonbar'><div class='prod-title2' style='width: 70%;'><a href='#' data-reveal-id='myModal".$count."'>Click here For more info</a></div><div class='reason2' style='width: 29%;'>Price: &pound;". $row['price'] . "</div></div>";


echo "</div>";
echo "</td>";
echo "</tr>";
echo "</td>";
echo "</tr>";
echo "</table>";

echo“可能是因为您正在扩展整个
.class
,而不是单击的
div
的唯一
#id

关于你的评论


好的,谢谢你澄清这件事,你知道我怎样才能添加一个 将函数计数到div id名称中以使其工作

看看这是否能帮助您:

使用php的动态id

带有jquery的动态id

您可以尝试在内部使用$(this)仅查找与当前单击的元素相关的元素

$(document).ready(function(){    
    $(".expanderHead").click(function(){
        var $exsign = $("#expanderSign");
        $(this).find("#expanderContent").slideToggle();
        $exsign.html($exsign.text() == '+' ? '-': '+');   
        // simplify your if/else into one line using ternary operator
        // if  $exsign.text() == "+" then use "-" else "+"
    });    
});

请发布生成的HTML,而不是PHP。谢谢你的回复,你能解释一下这是什么意思吗?不要发布你的PHP代码,发布PHP代码生成的内容。谢谢你的回复,这是有效的,但现在只有第一个结果div展开,有没有关于如何获得单击展开的特定div的想法?使用计数函数等等我排序?别忘了
#id
是唯一的。您不能有两个元素(例如:div)
#expanderSign
。另一方面,可以将一个
.class
分配给多个元素。如果您回送此行
echo“”
多次,可能会出现问题。好的,谢谢你解决这个问题,你知道我如何在div id名称中添加一个count函数以使其工作吗?谢谢你的回复!现在可以工作了,非常感谢!