0

これはおそらく私が見落としている簡単な問題です。以下のコードはキャッシュからデータを取得するため、たとえば「g」と入力すると 3 つの結果が得られ、「f」と入力すると 1 つの結果が得られます。

オートコンプリートのページに問題があります。「g」を入力すると高さ約 5 ピクセルの 3 行、「f」を入力すると 1 行のテキスト ボックスの下にドロップダウンが表示されますが、中にテキストがないか、テキストが小さすぎて見えませんをクリックします。

しかし、ハードコードされた値を使用すると、問題なく動作します。

誰かが私が見逃しているものを見つけることができますか?

コントローラ:

public ActionResult QuickSearch(string term)
{
    var wq = LocationList(term).Select(a => new
    {
        Value = a.strLocationName
    });
    return Json(wq, JsonRequestBehavior.AllowGet);
}

private List<DisplayTopOneThousandAutoCompleteWeatherLocations> LocationList(string searchString)
{
    var wq = _IGTOTACWL.DisplayTopWeatherLocations()
        .Where(a => a.strLocationName.StartsWith(searchString, StringComparison.OrdinalIgnoreCase)).ToList();

    return wq.ToList();
}

意見:

@using (Html.BeginForm("Index", "SearchResults", FormMethod.Get, new { @id = "frmWeather" })) 
{ 
<div id="dvWL"> 
    <ul id="ulWeatherSearch"> 
        <li> 
            <input id="wns" name="q" title="Change location" type="text"/></li> 
        <li> 
            <input id="wsb" name="b" type="submit" title="Click to search" value="Weather" /></li> 
    </ul> 
</div> 
<input id="hsho" name="o" type="hidden" value="5" /> 
} 
<p class="pIP">Location based on IP Address<br />@ViewBag.IPAddr</p> 
<script> 
    $("#wns").autocomplete({ 
    //source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ], 
    source: '@Url.Action("QuickSearch","Weather")' 
}); 
</script>

以下のコードも試しましたが、うまくいきません

<script>
$("#wns").autocomplete({
//source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ],
    source: '@Url.Action("QuickSearch","Weather")',
    dataType: 'json',
    parse: function (data) {
        var rows = new Array();
        for (var i = 0; i < data.length; i++) {
            rows[i] = { data: data[i].strLocationName};
        }
        return rows;
    },
    formatItem: function (row, i, n) {
        return row.strLocationName;
    }
});
</script>
4

1 に答える 1

0

以下のリンクは私の問題を修正 しましたjquery-autocomplete

于 2013-01-01T10:42:31.547 に答える