autocompleteextender设置innerHtml后为Null值

本文关键字:Null 后为 innerHtml 设置 autocompleteextender | 更新日期: 2023-09-27 18:29:18

我有一个自动完成扩展器,当我将其innerHtml设置为从Web服务接收的文本时,它工作得非常好,我可以在selectedItem函数上捕获该文本的选定值。但是当我在子节点的innerHtml中设置一些HTML元素时,我会在selectedItem函数上丢失该节点的值(请记住,我可以在OnClientPopulated函数上看到设置值!)。

这是OnClientPopulated

function PopulateDataForAce_Locations(sender) {
            $("#tbxLocation").css("background-image", "none");
            var comletionList = $find("aceYer").get_completionList();
            for (var i = 0; i < comletionList.childNodes.length; i++) {
                var data = JSON.parse(comletionList.childNodes[i].innerText);
                var image = data[0];
                var imageClass = "";
                var textClass = "";
                if (data[1].indexOf("##") > -1 || comletionList.childNodes[i]._value == "0000") {
                    imageClass = "imageStyleIlce";
                    textClass = "textStyleIlce";
                }
                else {
                    imageClass = "imageStyleIl";
                    textClass = "textStyleIl";
                }
                var text = data[1].replace("##", "");
                var text2 = data[2];
              // comletionList.childNodes[i].innerHTML = "<font class='"" + textClass + "'">" + text + "</font>";
                comletionList.childNodes[i].innerHTML =  text;
            }
        }

当我使用注释行时,我会丢失节点的值。任何帮助都将不胜感激

autocompleteextender设置innerHtml后为Null值

我发现获得所选项目函数值的唯一方法是

 function aceLocation_itemSelected(sender, e) {
            var index = $find("aceYer")._selectIndex;
            var _item = $find("aceYer").get_completionList().childNodes[index];
            var hfYer = $get('<%= hfYer.ClientID %>');
            hfYer.value = _item._value; 
        }

而e.get_value()不适用于html项。