1:本來打算使用提供的lookup,發現挺好使的。是從dialog上彈出lookup的,發現之前的dialog會被關閉,當lookup彈出來的時候,從網上找到解決辦法就是給之前的dialog添加rel即可。該問題解決
2:照著例子來發現不行。以為不支援這個效果,找到官方的dwz-ria的例子,修改了下發現有這個效果。
3:遂照著例子來,發現不行。我把My Code放在例子上沒問題,放在我本地就不行。來回多次看來只有debug對比了
4:經過2小時左右發現問題:
我用的是zend的dwz的例子中的js,發現在dwz.frag.xml中有這樣一段話:
<div class="dialogContent layoutBox lookupBox">
而在官網的dwz.frag.xml中更是
<div class="dialogContent layoutBox unitBox">
,當有lookup的時候,之前的頁面內容會包含在上面的div中
根據lookup的函數調用,發現時
var $box = _lookup['$target'].parents(".unitBox:first");
alert($box.length);
$box.find(":input").each(function(){
var $input = $(this), inputName = $input.attr("name");
alert(inputName);
for (var key in args) {
var name = (_lookup.pk == key) ? _util.lookupPk(key) : _util.lookupField(key);
if (name == inputName) {
$input.val(args[key]);
break;
}
}
});
也就是找到.unitBox這個div,然後再在裡面找到input對應的lookup的名稱來回調賦值。
而在上面的xml根本給出的不是unitBox所以不得行。。。
找到錯誤原因,遂解決了。。