2013-05-14 86 views
0

我有一个搜索框和关联的建议框来显示建议。如何将新值添加到输入

一旦用户在搜索框中输入内容,就会出现建议。用户可以选择要添加到搜索输入框的其中一个建议。然后用户将能够键入其他术语来接收建议等。

我可以显示建议并找出哪个建议已被选中,但我不能将所选的一个添加到搜索框。

我使用了以下所有代码,但它显示了警报消息,但并未更改搜索框的值。

  1. document.getElementById("searchForm").elements[1].value = "0000";
  2. $("form#searchForm:input").empty();
  3. $("input[name=term]").empty();
  4. $('#term').empty()

代码

<script type="text/javascript"> 
    function selectS(value){ 
     alert("clicked:" + value); 
     $('#term').empty() 
    } 
.... 

<s:form id="searchForm" method="POST" enctype="multipart/form-data"> 
    <s:textfield id="term" name="term" label="Search" onkeyup="find(this.value)"/> 
</s:form> 
+0

u能解释清楚 – PSR 2013-05-14 04:02:39

+0

你是什么意思“那么用户可以选择一个旁边添加新的搜索术语。” – asifsid88 2013-05-14 04:03:33

+1

你在问如何使用串联来设置一个字符串的值? – epascarello 2013-05-14 04:03:39

回答

3

而不是JQuery为空(),您应该使用val()来获取/设置输入的

$('#term').val(''); // clears it 

或者,追加到它:

function selectS (value){ 
    alert("clicked:" + value); 
    var curr = $('#term').val(); 
    if (curr)      // delimit values nicely, if curr not empty. 
     curr += ", "; 
    $('#term').val(curr + value); 
} 
+2

您可能还想在新值之前添加逗号。 – 2013-05-14 04:07:48