【问题标题】:Javascript load from php and onchange variable从 php 和 onchange 变量加载 Javascript
【发布时间】:2013-11-10 12:31:22
【问题描述】:

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

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 的入门者..

感谢您的回答。

【问题讨论】:

  • 你在这里缺少一些东西作为开始$("")。我建议你在 firefox 中使用 firebug 来调试代码
  • @InGodITrust 抱歉,小错字没有注意到我的错误.. 我删除了它。
  • 你还有一个 ^^
  • 试试这个我没有测试过这个脚本,所以它可以工作

标签: javascript php function onchange


【解决方案1】:
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);

【讨论】:

  • 您的问题中没有 html 代码。如果 #artist 是一个文本框,请告诉我编辑答案。
  • 这似乎可以解决问题,非常感谢,但它每 2 秒给我一次所有的 html 数据。我在 php 文件中关于艺术家的语法是 "echo "
    $艺术家
    ";"我怎样才能让它只为艺术家工作,而且只有在名字改变的情况下?
  • 现在可以完美运行了。谢谢。我只是好奇:)
  • 请也投赞成票 ;) 在您的 php 文件中,您可以只回显艺术家姓名,无需任何其他内容,无需 html 标记,无需脚本。
  • 如果您只是读取名称而不是 div,那么变量数据将包含艺术家姓名,无需额外的努力来提取它。
猜你喜欢
  • 2017-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-16
  • 2013-03-17
相关资源
最近更新 更多