php - JQuery/Javascript 使用生成的 ID 设置表单字段的值

标签 php javascript jquery jcrop

在我的页面上,我有很多表单,其中字段 id 是根据数据库 id 生成的。像这样:

            <input type="hidden" name="id" value="<?php echo (isset($content))?$content->getId():''?>" />
            <input type="hidden" id="x<?php echo $content->getId()?>"/>
            <input type="hidden" id="y<?php echo $content->getId()?>"/>
            <input type="hidden" id="x2<?php echo $content->getId()?>"/>
            <input type="hidden" id="y2<?php echo $content->getId()?>"/>

这为我提供了所有表单的唯一 ID。 现在我在 jquery 框架中有 Javascript 函数,它设置了不起作用的指定字段的值:

            $(function(){
                $('#jcrop_target_id<?php echo $content->getId()?>').Jcrop({
                    onSelect: updateCoords
                });
            });

            function updateCoords(c)
            {
                $('#x<?php echo $content->getId()?>').val(c.x);
                $('#y<?php echo $content->getId()?>').val(c.y);
                $('#x2<?php echo $content->getId()?>').val(c.x2);
                $('#y2<?php echo $content->getId()?>').val(c.y2);
            };

值 c.* 没问题,但显然 #x<?php echo $content->getId()?>不起作用。 正确的做法是什么? 问候。

最佳答案

尝试混合使用 php 和 javascript 可能相当困难。其原因是它们不是同时或以相同的方式处理的。 PHP 首先在服务器上进行处理,并将处理结果发送到浏览器。 然后任何 JavaScript 都会被处理。

此外,我认为 javascript 内部的 php 标签实际上不会被处理,但我对此并不能 100% 确定。

可以做的一件事(但通常看起来很难看)是使用 php 来实际创建您的 javascript。例如:

echo '<script type="text/javascript">';
echo 'function updateCoords(c) {';
echo '    $(\'#x' . $content->getId() . '\').val(c.x);';
...
echo '}';
echo '</script>';

就像我说的,它看起来很丑,所以我真的不推荐它,但它实际上应该像你想要的那样工作。

关于php - JQuery/Javascript 使用生成的 ID 设置表单字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6286978/

相关文章:

php - 在 Laravel 中为 Controller 传递默认数据

java - 将 PHP/jQuery 应用程序移植到 Java/Wicket

JavaScript 对象比较

javascript - IE 7 和 8 是否使用 Internet Explorer 事件模型?

php - 当将 max() 与 mysqli 一起使用时,只有一个字段发生变化

php - 手机中的图片方向

javascript - 使用对象引用进行过滤 lodash

javascript - 如何从所有匹配的元素中获取数据?

php - 如何从末尾截断文件名并限制

jquery - 我想在单击按钮时在 DataTable 中填充数据,默认情况下它应该显示没有可用数据