从php和onchange变量加载Javascript

时间:2013-11-10 12:31:22

标签: javascript php function onchange

我有一个脚本从php加载一些div ID,每x秒重新加载新值..我想在脚本中实现一个onchange值,以便触发加载一个新变量if(在这个示例中,artist更改)但我无法弄清楚如何.. 脚本是:

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

我需要告诉艺术家是否更改然后从php加载一个新变量,使用我在How can I make a program wait for a variable change in 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中的一个开始..

感谢您的回答。

1 个答案:

答案 0 :(得分: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);