NET餐厅管理系统前端js-dwz.database-suggest

suggest: function(){
            var op = {suggest$:"#suggest", suggestShadow$: "#suggestShadow"};
            var selectedIndex = -1;
            return this.each(function(){
                var $input = $(this).attr('autocomplete', 'off').keydown(function(event){
                    if (event.keyCode == DWZ.keyCode.ENTER) return false; //屏蔽回车提交
                });
                
                var suggestFields=$input.attr('suggestFields').split(",");
                
                function _show(event){
                    var offset = $input.offset();
                    var iTop = offset.top+this.offsetHeight;
                    var $suggest = $(op.suggest$);
                    if ($suggest.size() == 0) $suggest = $('<div id="suggest"></div>').appendTo($('body'));

                    $suggest.css({
                        left:offset.left+'px',
                        top:iTop+'px'
                    }).show();
                    
                    _lookup = $.extend(_lookup, {
                        currentGroup: $input.attr("lookupGroup") || "",
                        suffix: $input.attr("suffix") || "",
                        $target: $input,
                        pk: $input.attr("lookupPk") || "id"
                    });

                    var url = unescape($input.attr("suggestUrl")).replaceTmById($(event.target).parents(".unitBox:first"));
                    if (!url.isFinishedTm()) {
                        alertMsg.error($input.attr("warn") || DWZ.msg("alertSelectMsg"));
                        return false;
                    }
                    
                    var postData = {};
                    postData[$input.attr("postField")||"inputValue"] = $input.val();

                    $.ajax({
                        type:'POST', dataType:"json", url:url, cache: false,
                        data: postData,
                        success: function(response){
                            if (!response) return;
                            var html = '';

                            $.each(response, function(i){
                                var liAttr = '', liLabel = '';
                                
                                for (var i=0; i<suggestFields.length; i++){
                                    var str = this[suggestFields[i]];
                                    if (str) {
                                        if (liLabel) liLabel += '-';
                                        liLabel += str;
                                        if (liAttr) liAttr += ',';
                                        liAttr += suggestFields[i]+":'"+str+"'";
                                    }
                                }
                                html += '<li lookupId="'+this[_lookup.pk]+'" lookupAttrs="'+liAttr+'">' + liLabel + '</li>';
                            });
                            
                            var $lis = $suggest.html('<ul>'+html+'</ul>').find("li");
                            $lis.hoverClass("selected").click(function(){
                                _select($(this));
                            });
                            if ($lis.size() == 1 && event.keyCode != DWZ.keyCode.BACKSPACE) {
                                _select($lis.eq(0));
                            } else if ($lis.size() == 0){
                                var jsonStr = "";
                                for (var i=0; i<suggestFields.length; i++){
                                    if (_util.lookupField(suggestFields[i]) == event.target.name) {
                                        break;
                                    }
                                    if (jsonStr) jsonStr += ',';
                                    jsonStr += suggestFields[i]+":''";
                                }
                                jsonStr = "{"+_lookup.pk+":''," + jsonStr +"}";
                                $.bringBackSuggest(DWZ.jsonEval(jsonStr));
                            }
                        },
                        error: function(){
                            $suggest.html('');
                        }
                    });

                    $(document).bind("click", _close);
                    return false;
                }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_74456535

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值