0

私はAjaxの初心者です。オートコンプリートの結果をリンクとして一覧表示する方法を見つける必要があります。ユーザーがクリックすると、結果でそのリンクが開きます。関連する結果を一覧表示できますが、リンクを追加する方法が見つかりませんでした。スクリプトのどこかに html タグとして追加する必要があります。HTMLリンクを追加する方法を教えてください

これが私のスクリプトです:

<script type="text/javascript">
    $(document).ready(function () {
        SearchText();
    });
    function SearchText() {
        $(".auto").autocomplete({
            source: function (request, response) {
                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "Default.aspx/GetAutoCompleteData",
                    data: "{'question':'" + document.getElementById('txtQuestion').value + "'}",
                    dataType: "json",
                    success: function (data) {
                        response(data.d);
                    },
                    error: function (result) {
                        alert("Error Occurred");
                    }
                });
            }
        });
    }
</script>

データベースに接続して関連する結果を返すメソッドは次のとおりです。

[WebMethod]
public static List<string> GetAutoCompleteData(string question)
{
    List<string> result = new List<string>();
    using (SqlConnection conn = new SqlConnection("Data Source=xxx;Initial Catalog=xxx;User ID=xxx;Password=xxx+"))
    {
        using (SqlCommand cmd = new SqlCommand("SELECT Questions,Link FROM DigiQA WHERE Questions LIKE '%'+@quest+'%'", conn))
        {
            conn.Open();
            cmd.Parameters.AddWithValue("@quest", question);
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                result.Add(dr["Questions"].ToString());
            }
            return result;
        }
    }   
}
4

1 に答える 1

1

このようなものを試してください

success: function(data) {
    response($jQuery.map(data, function(item) {
        return {
           label: '<a href="yoururl">' + item + '</a>'),
           value: item
        }
    }))
}
于 2013-03-14T14:24:01.380 に答える