我有一个自动完成扩展器,并有一个列表,从中给出建议,我允许用户输入多个分号(;)分隔的值。并进行字符串拆分
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" />
答案 0 :(得分:1)
尝试添加2个处理程序。一个是按下'enter'键(如果用户使用键盘选择值),另一个是当使用时用鼠标选择一个值。 在处理程序附加;在文本框中。
希望有所帮助......
试试这个
添加扩展器: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 :(得分:0)
当您选择值并在将此值设置为文本框之前,只需添加“;”选择该值,然后在文本框中设置。
由于 Jinesh Jain