使用Prototype Js Ajax.updater,我想用特定的CLASS更新每个div但是当我这样做时,它不适用于类。
Element 1 Element 2function 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
更新所有元素
关于此的文件非常清楚:
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);
});
}
});