0

提案を表示するための検索ボックスと提案ボックスがあります。

ユーザーが検索ボックスに何かを入力すると、候補が表示され、ユーザーは検索入力ボックスに追加する候補の 1 つを選択できます。その後、ユーザーは他の用語を入力して、提案などを受け取ることができます。

提案を表示し、選択した提案を入力ボックスに追加できますが、

ユーザーがfを入力すると、最初に提案され、ユーザーがそれを選択すると、入力ボックスは最初にfになりますが、最初のみにする必要があります。入力をリセットすると、他の検索語が失われます。

要するに、最後のセミコロンの前のすべての値を保持し、セミコロンの後の値をすべて削除したいのです。

コード

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

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

2 に答える 2

0

基本的な正規表現を学びます。

var text = "foo";
var str = "asdf;qwerty;g";
var newStr = str.replace(/(;)?[^;]+$/,"$1" + text);
console.log(newStr);

分割と結合でも同じことができます

var text = "foo";
var str = "asdf;qwerty;g";
var parts = str.split(";");
parts.pop();
parts.push(text);
var newStr = parts.join(";");
console.log(newStr);
于 2013-05-14T04:48:04.147 に答える