AutoCompleter工作,但处理其他事件时不显示默认文本?

时间:2014-09-01 09:45:04

标签: jsp struts2 struts jquery-autocomplete struts2-jquery

我在Struts 2中有一个自动填充标签。

当标签放在自动完成器上时,我有一些操作要做....

在焦点上,当我点击自动填充文本框时,文本Select or Type tag ends with ;将被删除。

如果我处理其他事件,则应重新出现该文本。

如何实现此功能?

<sj:autocompleter  
           cssStyle="width:200px;" 
               href="%{#autoCompleteTagUrl}" 
     onSelectTopics="tagsAllSelectTopics" 
   onCompleteTopics="tagsAllCompleteTopics"
                 id="tags_all" 
               name="tags_all" 
           cssClass="inputText tags_all tag-textbox docTxt" 
            tooltip="true" 
              value="Select or Type tag ends with ;" 
            onfocus="if(this.value=='Select or Type tag ends with;'){this.value='';}" 
        loadingText="Loading...." 
/>

2 个答案:

答案 0 :(得分:0)

IF <sj:autocompleter />允许动态属性(这意味着您可以编写文档中未列出的属性,例如<sj:autocompleter foo="bar" />),您可以使用HTML5 placeholder text ,在每个现代浏览器中工作:

<sj:autocompleter placeholder="Select or Type tag ends with" />

这将是完全自动的,对于旧浏览器,您可以使用this fiddle中的功能检测。

停止使用不是文本但内部标签的文本;)

答案 1 :(得分:0)

自动填充程序没有占位符属性,因为自动填充程序通常是指用户输入属于提供的列表的文本,此列表显示为用户键入或单击下拉箭头时(如果启用了箭头) )。

Here是自动填充程序支持的属性列表。

但是如果想这样做,那么使用onfocusout事件将文本放回去,如果值==“”

<sj:autocompleter  
       cssStyle="width:200px;" 
       href="%{#autoCompleteTagUrl}" 
       onSelectTopics="tagsAllSelectTopics" 
       onCompleteTopics="tagsAllCompleteTopics"
       id="tags_all" 
       name="tags_all" 
       cssClass="inputText tags_all tag-textbox docTxt" 
       tooltip="true" 
       value="Select or Type tag ends with ;" 
       onfocus="if(this.value=='Select or Type tag ends with;'){this.value='';}" 
       loadingText="Loading...." 
       onfocusout="if(this.value==""){this.value='Select or Type tag ends with';}
  />