如何使ajax updater更新所有元素与类mydivclass与原型js?

问题描述 投票:0回答:1

使用Prototype Js Ajax.updater,我想用特定的CLASS更新每个div但是当我这样做时,它不适用于类。

Element 1 Element 2
function mettreajour(span_id, url_traitement, nos_parametres)
    {

    var ajax = new Ajax.Updater ({success:span_id}, url_traitement, {method:'post', parameters: nos_parametres, evalScripts: true}  );

    } 

即使我这样做

mettreajour('.mydivclass', 'index.php', &ok=yes);

这是行不通的。

如何使ajax更新程序使用类mydivclass更新所有元素

javascript prototypejs
1个回答
0
投票

关于此的文件非常清楚:

http://api.prototypejs.org/ajax/Ajax/Updater/

Ajax.Updater将发出请求,并将其ID标识的任何元素的innerHTML替换为该请求的结果。换句话说,这是一个单一的小马。

如果你想构建自己的方法来做到这一点,那么有两件事要做。首先,使用不太专业化的Ajax.Request来获取数据,然后使用“双元”$$()方法来查找要更新的元素。 $$()总是返回一个元素数组(如果页面上没有任何内容与选择器匹配,则返回一个空数组)。您可以使用Enumerable方法each()迭代该数组,或者您可以使用特殊情况invoke()(Prototype 1.7及更高版本)为Enumerable中的每个元素调用相同的方法。

new Ajax.Request('/your/url', {
  onSuccess: function(response) {
    $$('.some-class').invoke('update', response.responseText);
  }
});

要么

new Ajax.Request('/your/url', {
  onSuccess: function(response) {
    $$('.some-class').each(function(elm){
      elm.update(response.responseText);
    });
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.