2013-05-14 88 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