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% 確実ではありません。

できることの 1 つは (しかし、かなり醜いように見えることがよくあります)、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 に答える