Как добавить (;) к строке в текстовом поле автозаполнения

#c# #asp.net

#c# #asp.net

Вопрос:

У меня есть расширитель автозаполнения и список, из которого даются предложения, я разрешаю пользователю вводить более 1 значения, разделенных точкой с запятой (;). И разделите строку

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

после ввода одного значения пользователь должен ввести; чтобы он мог ввести второе значение, как я могу автоматически ввести; после выбора каждого значения, чтобы пользователь мог просто ввести второе значение без ввода ;

  <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 обработчика. Один, когда нажата клавиша «ввод» (если пользователь выбирает значение с помощью клавиатуры), а другой, когда пользователь выбирает значение с помощью мыши. в обработчиках добавьте; в текстовое поле.

надеюсь, это помогло…

попробуйте это

добавьте в свой расширитель: OnClientItemSelected =»addSemiColumn»

добавьте эти 2 javascripts на свою страницу:

 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
  

Комментарии:

1. Можете ли вы показать какой-нибудь код для этого, будет полезно для меня. Спасибо

Ответ №2:

когда вы выбираете значение и перед тем, как установить это значение в текстовое поле, просто добавьте «;» к этому выбранному значению, а затем установите в текстовое поле.

Спасибо Джинеш Джейн