2

これは2つの部分からなる質問ですが、最初の質問が実際に達成可能であることを確認したいと思います。

まず、img srcによって設定されたアクセス変数を取得できますか?MySQL UPDATEなどを含むjQueryを試していますが、これが機能することを確認する必要がありましたか?

<a href="#" class="chnge"><img src="filename.jpg?id=1&open=1" /></a>

jQueryは次のようになります。

      $("img#chnge").click(function() {

        var id      = $('#id').attr('value');
        var open    = $('#open').attr('value');
            $.ajax({
                type: "POST",
                url: "update.php",
                data: "id="+ id +"& open="+ open,
                success: function(){
                    $('img#chnge').fadeTo('slow',0.4);

                }
            });
        return false;
        });

基本的に、「開いている」が1に設定されている場合、クリックすると不透明度が変化する画像がありますが、update.phpにクエリが送信されます。

私はエラーがこのフォームのどこにあるかを知っています、私はそれらを修正する方法を知りません。#1 = img srcの変数(代わりにhrefに入れることができるかどうかわかりませんか?)、2番目は$('#id')と$('#open')ではないと思います正解ですが、どちらに変更すればよいかわかりません。

どんな援助でも大歓迎です。

フィリップ。

更新:Otarsの返信を読んだ後、完全なコードを追加したほうがいいと思いました:画像がどのようにあるか...

ありがとうございました。これらの画像はfor()ループ(php)を介して生成されているため、このコードの動作に影響がありますか?

<?php
$query = mysql_query("SELECT * FROM catalogue");
$num = mysql_num_rows($query);

for ($x=1;$x<=$num;$x++) {

  $row = mysql_fetch_row($query);

  ?>

  <a href="#" id="chngeHref" /><img src="<?php echo $row[2]; ?>?id=<?php echo $row[0]; ?>&open=<?php echo $row[1]; ?>" id="chnge" /></a>

<?php

  /* row[0] = id 
     row[1] = open (1 or 0)
     row[2] = image url
  */

  }

?>
4

2 に答える 2

2

とにかく、あなたのイメージはPHPスクリプトでなければなりません...

それにGETパラメータを渡し、スクリプトで必要なことをすべて実行してから、次のように画像を出力します。

ファイルが呼び出されたとしましょうimage.php

<?php

    $par = $_GET['test'];

    // Do some PHP related job here


    // Load the image
    header('Content-Type: image/jpeg');
    header('Location: /path/to/your/image.jpg');

?>

次に、次のように使用します。<img src="image.php?test=value">

最初に PHP スクリプトを呼び出してから、画像を表示します。

于 2010-08-21T08:44:18.220 に答える
0

申し訳ありませんが、あなたが何をしようとしているのか正確にはわかりませんが、これが役立つと思います. 画像の「開いた」状態を $(function(){..}) 内の変数として保存できます。その後、クリック イベント内からその変数値を取得および設定できます。

$(function() {

    var open = false; // store the image state in the closure not global
    var id = .. 

    $(".chnge img").click(function() {
        if (!open) {
            // fade-in, post to server or whatever

            $.ajax({
                type: "POST",
                url: "update.php",
                data: "id="+ id +"& open="+ open,
                success: function(){
                    // handle response here.
                    // you can still access the open variable here!
                }
            }

            open = true; // want to update open?
        } 
    });
});
于 2010-08-21T08:52:08.217 に答える