本文主要是介绍dwz的lookup的一个小问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1:本来打算使用提供的lookup,发现挺好使的。是从dialog上弹出lookup的,发现之前的dialog会被关闭,当lookup弹出来的时候,从网上找到解决办法就是给之前的dialog添加rel即可。该问题解决
2:照着例子来发现不行。以为不支持这个效果,找到官方的dwz-ria的例子,修改了下发现有这个效果。
3:遂照着例子来,发现不行。我把我的代码放在例子上没问题,放在我本地就不行。来回多次看来只有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所以不得行。。。
找到错误原因,遂解决了。。
这篇关于dwz的lookup的一个小问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!