我有一个脚本从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中的一个开始..
感谢您的回答。
答案 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);