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;
}
}
当我使用注释行时,我会丢失节点的值。任何帮助都将不胜感激
我发现获得所选项目函数值的唯一方法是
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项。