Ajaxの複数DIV更新ができない?!
cakephp->version:1.2.4.8284
prototype.js->version:1.6.0.3
どうやら入れ子になっているDIVじゃないと、複数DIVを一気に更新するのはダメみたいだなーと思った。
<?php $ajax->link(’Link’, ‘/test/update’, array(’update’ => array(’first’, ’second’)));
こんな感じでupdateのDIVを複数書くと更新できるよって話。すると、こういうJSが吐きだされる。
Event.observe('link1985653699', 'click', function(event) { new Ajax.Updater(document.createElement('div'),'/test/update', {asynchronous:true, evalScripts:true, requestHeaders:['X-Update', 'first second']}) }, false);
で、よくわかっていないんだが、new Ajax.updaterの第1引数でDIV要素を作ってるので、requestHeadersで指定されるDIVはこのcreateElementしたDIVの中にあるっぽい。つまり、複数DIV更新するときはfirst,secondを入れ子にしないと更新できないようだ。
<div> <div id="first"></div> <div id="second"></div> </div>
こんな感じ。・・・微妙だなぁ。
入れ子じゃないとダメとかさみしいので、この問題にお詳しい方のアドバイスお待ちします。