我使用的Ajax。Autocompleter类从原型/Scriptaculous图书馆的电话一个ASP.NET WebHandler创造一个无序列出与清单项目包含的建议。

现在我的工作在一个页面上可以在其中添加建议一个'停止的话'表,这意味着,如果他们出现在该表中,他们不会被建议了。

我把一个按钮内李元素和当你点击它就应该做一个阿贾克斯的请求,以一个网页,其后增添词语表。这一工作。但后来我想要的建议,以刷新,以便建议似乎没有这个词,只是添加到表。最好的选择字是下一步之前或之前点击字。

我该怎么做这个?发生什么事而不是现在是李你点击按钮的获取可选择的词和所提的建议会消失。

列表中的项目看起来是这样的:

<li>{0}
 <img onclick=\"deleteWord('{0}');\" src=\"delete.gif\"/>
</li>

哪里 {0} 代表所建议的单词。JavaScript功能 deleteWord(w) 得叫webhandler,它可添加该词的'停止词语'表。

有帮助吗?

解决方案

Scriptaculous Autocompleter监测击事件'li'.当你坚持的图像内部的一个'li','img'和'li'将会获得点击事件,这证明了这一点。这就是为什么Autocompleter只是在做正常事情时,点击按钮:

<ul>
  <li onclick="alert('li');">
    <img onclick="alert('image')" src="blah.gif"/>
  </li>
</ul>

我尝试的是要有你的'击'设置的某种状态变量告诉你,删除已经被点击。然后, 复盖'updateElement'在Autocompleter 不要做任何事情,如果国家是集。一个替代方案是为亚类的整个Autocompleter和复盖'击'.这将使该列表不会消失的时候你像是点击。

有列出实时更新,在你的图像的'果',删除'li'从名单中DOM。像这样的概念:

img onclick="deleteWord('blah');setStateVariable();this.parentNode.parentNode.removeChild(this.parentNode);"
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top