1

PHP からいくつかの div ID をロードし、x 秒ごとに新しい値をリロードするスクリプトがあります。(この例ではアーティストが変更された場合) 新しい変数のロードをトリガーするために、スクリプト内に onchange 値を実装したいのですが、できません。方法を理解してください..スクリプトは次のとおりです。

setInterval(function(){
    cache: false,
    $("#artist").load("test.php #artist");
    $("#song").load("test.php #song");
}, 2000);

アーティストが変更されたかどうかを確認する必要があります。次に、ここで見つけたこのラッパー コードを使用して、php から新しい変数をロードする必要があります ?

function Wrapper(callback) {
    var value;
    this.set = function(v) {
        value = v;
        callback(this);
    }
    this.get = function() {
        return value;
    }  
} 

入力ボックスで同じ例を使用すると、機能し<input type="text" onchange="wrapper.set(this.value)"/> ます..しかし、最初の部分でphpからプルされた#artistを使用して機能させる方法がわかりません..

私はこれをやってみました:

<script type="text/javascript">
    setInterval(function(){
        cache: false,
        $("#artist").load("test.php #artist").onchange(wrapper.set(this.value));
        $("#song").load("test.php #song");
    }, 2000);
</script>

他の多くの組み合わせがありますが、どちらも機能しません..助けてください!

PS: 私は javascript の開始点であることを覚えておいてください..

回答ありがとうございます。

4

1 に答える 1

0
setInterval(function(){
    cache: false,
    $.get('test.php',function(data){
     var artist = $('<div>' + data + '</div>').find('div#artist').html();
     if(artist != $('#artist').html()){
          $('#artist').html(artist );
          wrapper.set(artist)
    } //in here I assumed #artist is a div or span,... if its a textbox change it to $('#artist').val()
    });
    $("#song").load("test.php #song");
}, 2000);
于 2013-11-10T16:12:43.060 に答える