JQuery / Javascript设置带有生成ID的表单字段的值

时间:2011-06-09 00:54:40

标签: 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()?>不起作用。 这样做的正确方法是什么? 问候。

2 个答案:

答案 0 :(得分:0)

我也总是设置onChange事件。这有帮助吗?

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

答案 1 :(得分: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>';

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