我有一个autocompleteextender,当我将innerHtml设置为从webservice接收的文本时,它可以正常工作,我可以在selectedItem函数上捕获该文本的选定值。但是当我在childnode的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;
}
}
当我使用评论行时,我失去了节点的价值。 任何帮助表示赞赏
答案 0 :(得分:0)
我发现获取所选项目功能的唯一方法是
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项目。