首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Javascript向自动完成控件的ContextKey添加下拉选择值

用Javascript向自动完成控件的ContextKey添加下拉选择值
EN

Stack Overflow用户
提问于 2013-08-22 14:57:13
回答 1查看 1.1K关注 0票数 0

我在我的web表单上有一个Drop-down-list和一个带有auto-completed extenderText-box。现在我需要从java-script设置auto-completed extenderContextKey属性。我正在尝试在text-boxonkeyup事件上使用java-script来设置ContextKey属性。但它不起作用

.aspx代码

代码语言:javascript
复制
<table>
    <tr>
        <td style="width:100px;">
            <asp:Label ID="Label1" CssClass="lbl" runat="server" Text="Server:"></asp:Label>
        </td>
        <td colspan="4">
            <asp:DropDownList ID="DropDownList1" CssClass="Comb" runat="server" 
                OnSelectedIndexChanged="ddlServer_SelectedIndexChanged" AutoPostBack="true">
            </asp:DropDownList>
        </td>
    </tr>
    <tr>
        <td>
            <asp:Label ID="Label2" CssClass="lbl" runat="server" Text="Originating:"></asp:Label>
        </td>
        <td colspan="4">
            <asp:TextBox runat="server" ID="TextBox1" CssClass="tb10" autocomplete="off" onkeyup="SetContextKey()"/>
            <ajaxToolkit:AutoCompleteExtender TargetControlID="TextBox1" UseContextKey="true"
                runat="server" BehaviorID="AutoCompleteEx" ID="AutoCompleteExtender1" 
                ServicePath="AutoComplete.asmx" ServiceMethod="GetResellerList"
                MinimumPrefixLength="1" CompletionInterval="1000" EnableCaching="true" FirstRowSelected="true"
                CompletionSetCount="20" CompletionListCssClass="cssList" DelimiterCharacters=";, :"
                ShowOnlyCurrentWordInCompletionListItem="true" OnClientHiding="OnClientCompleted"
                OnClientPopulated="OnClientCompleted" OnClientPopulating="OnClientPopulating">
            </ajaxToolkit:AutoCompleteExtender>
        </td>
    </tr>
</table>

.cs代码(服务代码)

代码语言:javascript
复制
[WebMethod]
public string[] GetResellerList(string prefixText, int count, string contextKey)
{
    DataSet ds = new DataSet();
    ds = clsTransaction.Select("SELECT nm AS Name FROM tblReseller WHERE nm LIKE '" + prefixText + "%' AND wsid = '" + contextKey + "'",
        DataSendBSSWEB.ServerDbEnum.MainSqlServer,
        false);

    //Then return List of string(txtItems) as result
    List<string> txtItems = new List<string>();
    String dbValues;

    foreach (DataRow row in ds.Tables[0].Rows)
    {
        dbValues = row["Name"].ToString();
        txtItems.Add(dbValues);
    }

    return txtItems.ToArray();
}

javascript代码

代码语言:javascript
复制
<script type="text/javascript">
    function SetContextKey() {
        $find('<%=autoComplete2.ClientID%>').set_contextKey($get("<%=ddlServer.ClientID %>").value);
    }
</script>

有人能告诉我如何使用java-script来做这件事吗?

EN

回答 1

Stack Overflow用户

发布于 2013-09-06 02:06:01

扩展程序的目标控件id应该是文本框的Id,而不是下拉框的Id。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18373634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档