私はこのコードを動作させるのに2ヶ月間働いていますが、私は近いですが、まだ混乱しています。 JSONデータを返すWebサービスを呼び出して、そのデータを選択用に表示し、選択時に選択した値を非表示のフィールドに挿入するJQuery UIオートコンプリート関数が必要です。 1)オートコンプリート機能が 2を発射されていない)ソース:JSONを返すJQuery UIオートコンプリートWebServiceソース
いくつかの問題があります "?/AutoSuggest.asmx/DOTFindは"行は無効なオブジェクト例外を投げる 3)サービスは2つのパラメータを必要とします:(string prefixText、int count) - countは、返すレコードの数を示します。 <% @ページ言語=「C#の」AutoEventWireup属性=「true」をCodeFile = "Default2: 4)私は、このコードはバックサービスここ
から来てJSONデータを受け入れることを全く特定ないですがコードです.aspx.cs」継承= "Default2" %>
無題ページ
<script type="text/javascript">
if ($) {
$(document).ready(
function() {
$('h4').addClass('tmpFrameworkLoaded');
$('h4').text('jQuery successfully loaded and running!');
}
);
}
</script>
<style>
.ui-autocomplete-loading
{
background: white url('images/ui-anim_basic_16x16.gif') right center no-repeat;
}
</style>
<div id="divDOTJQuery" runat="server">
<script type="text/javascript">
$(function() {
function log(message) {
alert(message);
$("<div/").text(message).prependTo("#log");
$("#log").attr("scrollTop", 0);
}
});
$("#dotmatch").autocomplete({
source: "/AutoSuggest.asmx/DOTFind?",
minLength: 2,
select: function(event, ui) {
log(ui.item ?
"Selected: " + ui.item.value + " aka " + ui.item.id :
"Nothing selected, input was " + this.value);
}
});
</script>
<div class="ui-widget">
DOT Job Title or #:
<input type="text" id="dotmatch" />
<input type="hidden" id="DOTNumber" name="DOTNumber" />
</div>
<div class="ui-widget" style="margin-top: 2em; font-family: Arial">
Results:<br />
<div id="log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content">
</div>
</div>
</div>
</form>
、ここでウェブサービスです:
[WebMethod(BufferResponse = true, Description = "Lookup a DOT record using part of DOT Number or DOT Title")]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public string DOTFind(string prefixText, int count)
{
if (count == 0)
{
count = 10;
}
DOT D = new DOT();
DataView DV = D.View(prefixText, count);
List<DOT> items = new List<DOT>();
foreach (DataRow DR in DV.Table.Rows)
{
items.Add(new DOT(SQL.ColumnToString(DR, "DOTNumber").Trim(),SQL.ColumnToString(DR, "JobTitle").Trim()));
}
DataContractJsonSerializer serializer = new DataContractJsonSerializer(items.GetType());
MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, items);
string jsonString = Encoding.Default.GetString(ms.ToArray());
ms.Close();
return jsonString;
}
私は深くあなたが提供することができますこれで任意の助けをいただければ幸いです。
おかげで、
ボブ
そのヒントをありがとう。機能はまだ起動していないので、テストできません。 –
@Bob:ウェブサービスから返されたデータを他の方法で確認しましたか?つまり手動で '/AutoSuggest.asmx/DOTFind? 'かそれとも何かを呼び出すことによって? –
はい - 私はwebserviceをチェックアウトして正常に動作します。今の問題は、私のオートコンプリート機能が起動していないことです。 –