2011-10-18 14 views
0

私はエクステンダーを自動補完していますが、提案があるリストを持っています。セミコロン(;)で区切られた2つ以上の値を入力できます。そして、文字列を分割するオートコンプリートテキストボックス内の文字列に(;)を追加する方法

string[] result = txt_to.Text.Split(';'); 

1つの値を入力した後にユーザーが入力する必要があります。彼は2番目の値を入力することができます。ユーザーが入力せずに第2の値を入力できるように、すべての値が選択された後。

<asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="txt_to" 
          MinimumPrefixLength="2" CompletionInterval="10" CompletionSetCount="3" EnableCaching="true" 
          FirstRowSelected="true" UseContextKey="True" ServiceMethod="GetCompletionList" 
          DelimiterCharacters=";" ShowOnlyCurrentWordInCompletionListItem="true" /> 

答えて

1

2ハンドラを追加しようとしています。 「Enter」キーが押されたとき(ユーザーがキーボードを使用して値を選択したとき)と、マウスが値を選択するときにもう1つ。ハンドラーで が追加されます。テキストボックスに。助け

希望...

この

があなたのエクステンダーに追加してみてください:OnClientItemSelected = "addSemiColumn"

ページにこれら2つのJavaScriptを追加します。

function GetKeyPress(){ 
    if (window.event.keyCode == 13){ 
     document.getElementById ('txt_to').value +=";"; 
    } 
} 


function addSemiColumn(){ 
    document.getElementById ('txt_to').value +=";"; 
} 

をし、これはコードの背後にある:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If IsPostBack Then 
     txt_to.Focus() 
    End If 
    txt_to.Attributes.Add("OnKeyPress", "GetKeyPress()") 
End Sub 
+0

はあなたがそれのためにいくつかのコードを表示することができ、私のために参考になります。ありがとう – Mark

0

値を選択してこの値をテキストボックスに設定する前に「;」を追加すると、その選択した値に設定し、テキストボックスに設定します。

おかげ Jineshジャイナ

関連する問題