1

在我的页面上,我有很多表单,在女巫字段中,ID 是基于 DB 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()?>不起作用。正确的方法是什么?问候。

4

2 回答 2

0

我也一直设置onChange事件。这有帮助吗?

$('#jcrop_target_id<?php echo $content->getId()?>').Jcrop({
    onSelect: updateCoords,
    onChange: updateCoords
});
于 2011-06-09T01:09:10.317 回答
0

尝试混合使用 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>';

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

于 2011-06-09T01:13:54.003 回答