我正在尝试在 PHP 文件上使用 jQuery 显示/隐藏脚本,它是这样的:
<?php
foreach ($empresas as $empresa) {
echo "<style type='text/css'>
.$empresa[teaserid] {
width:100%;
background-color: #CCC;
color: #000;
margin-top:10px;
border:1px solid #CCC;
position:relative;
vertical-align:middle;
}
.showhide$empresa[teaserid] {
display:none;
}
</style>";
echo '<script type="text/javascript">';
echo ' $(document).ready(function(){ ';
echo ' $(\".$empresa[teaserid]\").hide(); ';
echo ' $(\".showhide$empresa[teaserid]\").show(); ';
echo ' $(\".showhide$empresa[teaserid]\").click(function(){ ';
echo ' $(\".$empresa[teaserid]\").slideToggle(), 500; ';
echo ' }); ';
echo ' });';
echo '</script>';
echo "<a href='#' class='showhide$empresa[teaserid]'>$empresa[titulo]</a><br />
<div class='$empresa[teaserid]'>
TEST</div>";
}
?>
所以,我需要的是 php 中的一个 foreach,它响应新的 CSS 值和一个新的 jQuery 脚本。因为每个 DIV 需要不同的 CSS 和 jQuery 来关联并能够显示和隐藏其内容。这个呼应没有用。 CSS 正常,但 jQuery 不支持 PHP $strings。我能做些什么? 或者有更简单的方法来做到这一点?一个仅与任何当前 div 相关的 jQuery 函数? 感谢任何在这方面帮助我的人..
最佳答案
值得一提:
您可以创建一个设置对象来保存您的变量。例如:
你的 php:
<?php
$settings = array( 'settingA' => 'something',
'settingB' => 'something else',
'wat' => 9001 );
?>
将您的 JS 保存在您的 js 文件中 - scripts.js,随便什么。但是您可以将其添加到您的 html 文件中:
<script>
var settings = <?php echo json_encode( $settings ) ?>;
</script>
那会输出什么?
var settings = {"settingA":"something","settingB":"something else","wat":9001};
所以你可以把你需要的服务器信息放在一个全局对象中(或者把它作为你的应用程序对象的属性或其他东西)并且可以访问它。
console.log( settings.settingA ); // returns "something"
进一步查看您的问题,不要忘记您不必留在 PHP 标记中。我并不是提倡在您的 css 中使用 PHP,但这应该可以帮助您理解这个概念:
<style>
<?php foreach ($empresas as $empresa): ?>
.showhide<?php echo $empresa['teaserid'] ?> {
display:none;
}
<?php endforeach; ?>
</style>
关于PHP foreach、CSS 和jQuery 脚本..如何交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7005298/