是否可以在jQuery中从PHP获取值?我有以下PHP:
$attachment_id = attachment_url_to_postid( $_POST[ 'background-video' ] );
$video_meta = get_post_meta( $attachment_id , '_wp_attachment_metadata', true );
我想在jQuery中使用值$video_meta['length']
,现在看起来像这样:
jQuery('input[name=slide_duration]').val("PHPVIDEOMETALENGTH");
这可以用jQuery吗? 编辑:这是一个单独的.js文件,它已入队。
答案 0 :(得分:4)
不,因为你有一个单独的.js
文件,你不能在其中使用PHP。因为服务器不会将其视为php文件或代码。
但你可以通过另一种方式来做到这一点,
将一个隐藏标签放在同一页面(可能是一个php文件):
<input type="hidden" id="slide_duration" value="<?php echo $video_meta['PHPVIDEOMETALENGTH'] ?>">
然后使用jquery,在JS代码中获取它的值。
var videolength = $('#slide_duration').val();
答案 1 :(得分:1)
在PHP
文件中使用JavaScript
的唯一方法是,如果您通过PHP
投放该文件。例如,您的PHP
文件应该是:
<?php
header("Content-Type: application/javascript");
require "path/file.js";
?>
然后,您只需在PHP
文件中编写js
代码:
jQuery('input[name=slide_duration]').val("<?= $video_meta['length'];?>");
要加载PHP
文件,您可以使用script
元素,就像使用JavaScript
文件一样。
答案 2 :(得分:0)
将值分配给var
文件
separate.js
<script>var meta_length = '<?=$video_meta['length'];?>'</script>
<script src="separate.js"></script>
separate.js文件
$(function(){
jQuery('input[name=slide_duration]').val(meta_length);
});
答案 3 :(得分:0)
您可以在$video_meta
或div
span
文件中设置php
。
例如:
<span id="video_meta_vale" style="display:none;"><?php echo $video_meta;?></span>
然后只需使用js
id
检索它
例如:
var t = $('#video_meta_vale').html();
jQuery('input[name=slide_duration]').val(t);
答案 4 :(得分:0)
试试这个,
$video_meta = get_post_meta( $attachment_id , '_wp_attachment_metadata', true );
<input type="hidden" value=<?php echo $video_meta; ?> id="video_meta">
<script>
var video_meta = $('#video_meta').val();
alert(video_meta);
</script>
答案 5 :(得分:0)
PHP中的jQuery
<?php
$attachment_id = attachment_url_to_postid( $_POST[ 'background-video' ] );
$video_meta = get_post_meta( $attachment_id , '_wp_attachment_metadata', true );
/* echoing <script> */
echo "
<script>
$(function()
{
$('input[name=slide_duration]').val({$video_meta['length']});
});
</script>";
?>