1

我有一个脚本,它从 php 加载一些 div id,并且每 x 秒重新加载新值。我想在脚本中实现一个 onchange 值,以便在(在这个例子中艺术家更改)时触发加载一个新变量,但我不能弄清楚如何..脚本是:

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

我需要知道艺术家是否更改然后从 php 加载一个新变量,使用我在这里找到的这个包装器代码 如何让程序等待 javascript 中的变量更改??

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 回答