插入PHP代码到jQuery中的图像src

问题描述:

我不知道如何做到这一点。我想通过jQuery将php代码插入图像源..但它不起作用。这是我的代码和帮助将不胜感激!插入PHP代码到jQuery中的图像src

JQUERY:

var mainId = $(this).attr('id'); 
$("#intabdiv img").attr('src', '<?=resize("../php/admin/portfolio/before/'+mainId+'",$settings)?>'); 

HTML:

<div id="intabdiv"> 
<?php $settings = array('w'=>450,'h'=>450,'crop'=>true); ?> 
       <img src="" border="0" class="pic" /> 
      </div> 
</div> 
+0

显示jQuery的浏览器中的“查看源代码”的帖子代码,并确保它包装在准备好的事件中 – charlietfl 2012-03-09 06:02:26

问题是你设置HTML作为具有ID,但jQuery是使用选择器为一个类。

所以它改变:

$(".intabdiv img")... 

$("#intabdiv img")... 
+0

这就是我最初的,对不起,这是一个错字,但它仍然不工作...更多帮帮我? – liveandream 2012-03-09 05:15:06

+0

它目前在源代码中给你什么? – Menztrual 2012-03-09 05:19:48

+0

另外; Jquery是通过动态生成它吗?因为如果是这样,你会想做一个ajax请求并将结果发送到src属性。 – Menztrual 2012-03-09 05:24:44

它看起来像你对我想拥有的客户端浏览器执行PHP。这不适合你。我不确定你对服务器和客户端之间的分离有完全清楚的认识,以及发生在哪里。

这里有一个简单的模型,你可以用它来想想哪里发生的事情:

  1. 用户将网址在浏览器点击进入
  2. 浏览器发送请求到服务器
  3. 服务器收到请求,并尝试提供请求的资源
  4. 在此阶段,如果文件是PHP文件,则执行任何PHP指令。这一切的最终结果,毕竟PHP完成并完成后,是一个HTML文件,也许带有一些JavaScript。
  5. 服务器将此HTML文件发送回浏览器。
  6. 浏览器加载HTML文件,并执行任何可以操纵客户端HTML的JavaScript。

那么,我们在哪里呢?您正尝试拍摄服务器上存在的图像文件,调整其大小并将其显示给最终用户。据推测,“调整大小”功能是您在PHP代码中定义的一个功能。我假设你只需要做一次,并在页面加载时显示给用户。

在这种情况下,你需要做的是更多的东西一样以下(全部在同一个文件):

<?php 
$settings = array('w'=>450,'h'=>450,'crop'=>true); 
$imgsrc = resize("../php/admin/portfolio/before/imageid.jpg",$settings); 
?> 
<div id="intabdiv"> 
    <img src="<?= $imgsrc; ?>" border="0" class="pic" /> 
</div> 

...不需要的JavaScript。显然,imageid.jpg必须是您尝试访问的图像的实际文件名。相反,如果您试图让某些用户操作触发对图像的访问,请为您要完成的内容提供更多的上下文,并给出更好的答案。

+0

是的,但这不适用于我。我必须通过jquery传递。我不想在jquery上运行php。我只想将php插入到src代码中。我需要根据按钮点击生成的mainID。有没有办法通过jQuery传递原始html?谢谢 – liveandream 2012-03-09 05:39:10

+0

请原谅我的误解,你实际上只是想让一串PHP出现在你的img src属性中,那实际上并不会执行,而且对于所有的意图和目的,对浏览器来说都是废话?我对你的理由感到好奇,但我至少明白,你是在客户端用按钮点击生成ID,这意味着jquery将涉及到你想要去的地方。如果可以的话,能否请您从用户的角度给出一个更完整的解释,说明您想要完成什么?您在此尝试创建的用户体验是什么? – Jason 2012-03-09 05:54:58

+0

@liveandream如果缺少这个JavaScript所在位置的完整背景,很难看到你想要做什么。当你在浏览器中查看页面源时,这行'$(“#intabdiv img”)。attr(...)'看起来像什么? – 2012-03-09 05:58:51

为什么不使用类似jcrop的东西? http://deepliquid.com/projects/Jcrop/demos.php