从php增加变量到jquery

时间:2014-06-16 22:35:00

标签: php jquery variables

如何用php将变量传递给jquery? 我必须从html调用jquery,这让我感到困惑:

jquery的:

 $(document).ready(function() {
        $('#pre-info').click(function() {
                $('#hide').slideToggle("fast");
        });
    });

现在我想在#pre-info之后和#hide之后获得$ i。

我这样调用jqueryScript:

谢谢。

好的,这里有更多代码:

<?php
    $i =0;

//Make some querys nd stuff

foreach ($all as $one) {    

//Here the event 1 is createt but the pre info gets increased with each event listet
echo "<div class='EVENT'><div id='pre-info$i'>";    


// get som other tables nd stuff
echo"</div><div id='hide$i' style='display:none;'>";

//now this part is hidden until i click on the pre-info

//hidden Stuff

$i++;
}

?>

<script type="text/javascript">
$(document).ready(function() {
    $('.pre-info').click(function() {
        var hiddenid=$(this).data('hiddenid');
        $('#'+hiddenid).slideToggle(); 
    });
});
</script>

它仍然不起作用,我错过了什么吗? 对我来说,看起来这个javascript中的pre-info也需要引用($ i)? 也许我只是不完全理解jquery ..

3 个答案:

答案 0 :(得分:1)

如果JS在.php文件中,您可以使用:

$(document).ready(function() {
    $('#pre-info<?php echo $x; ?>').click(function() {
            $('#hide<?php echo $x; ?>').slideToggle("fast");
    });
});

我的问题并不包含足够的信息来为您提供更详细的答案,我担心。

答案 1 :(得分:1)

好的,所以你有几个隐藏的div,每个你也有一个监听器来切换他们的可见性。原始列表来自php,后者又从查询中获取数据。

您可以使用数据属性将前信息链接到隐藏元素:

$i =0;
foreach ($all as $one) {    
    echo "<div class='pre-info' data-hiddenid='hide$i'>click me</div>";    
    echo "<div id='hide$i' style='display:none;'> hidden stuff </div>";
    $i++;
}

那么你只需要一个关于jQuery的监听器

jQuery(document).ready(function() {
    jQuery('.pre-info').click(function() {
        var hiddenid=jQuery(this).data('hiddenid');
        jQuery('#'+hiddenid).slideToggle(); 
    });
});

希望它有所帮助(编辑,我将侦听器包装在文档就绪事件中)

顺便说一句,在我看来,你正在重新发明轮子。您可以使用jQuery UI's accordionsBootstrap collapsibles进行漂亮的交叉浏览器转换。

答案 2 :(得分:0)

你可以将你需要的php变量嵌入到隐藏的html属性或数据属性

隐藏元素HTML

<input type="hidden" id="someId" name="someName" value="<?php echo $someVariable?>"/>

的Javascript

var someVar = $('#someId').val()

数据HTML

<div id="someId" data-some-var="<?php echo $someVariable?>"></div>

的Javascript

var someVar = $("#someId").data("some-var")

请注意,如果您使用数据,则必须包含关键字&#34; data&#34;在你决定命名属性之前