私はうまくいかないようなフォロースクリプトを持っています。 aspxページは、コメントアウトされたスクリプトのjsonに似たjsonを返します。そのjsonを配列としてソースに直接貼り付けると、完全に動作します。asp.netでオートコンプリートを作成しました
ただし、以下のスクリプトを使用しようとすると、エラーメッセージなどは表示されません。オートコンプリートフィールドに入力すると何も起こりません。
$(document).ready(function(){
$('#button').click(function() {
alert($("#txtAllowSearchID").val());
});
//var $local_source = [ {id:0,value:"c++"}, {id:1,value:"java"}, {id:2,value:"php"}, {id:3,value:"coldfusion"}, {id:4,value:"javascript"}, {id:5,value:"asp"}, {id:6,value:"ruby"} ];
$("#txtAllowSearch").autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
url: "test_array.aspx",
data: "{'prefixText': '" + $('#txtAllowSearch').val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
response(data.d);
},
failure: function(errMsg) {
$('#errMessage').text(errMsg);
}
});
},
select: function (event, ui) {
$("#txtAllowSearch").val(ui.item.value); // display the selected text
$("#txtAllowSearchID").val(ui.item.id); // save selected id to hidden input
}
});
});
EDIT:
objSQLCommand = New SqlCommand("select id, value from table1 where value like '%@prefixText%'", objSQLConnection)
objSQLCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 255).Value = "ing"
私はちょうど上記のようにe-urlを使用すると、.aspxページがjsonデータを返す前に.aspxページに値を投稿するにはどうすればよいですか? – oshirowanen
文字列を使用すると、オートコンプリートプラグインはその文字列がJSONデータを返すURLリソースを指していることを期待します。同じホスト上にあっても、別のホスト上にあっても構いません(JSONPを提供する必要があります)。リクエストパラメータ「term」がそのURLに追加されます。データそのものは、上記のローカルデータと同じ形式にすることができます。 - 実際に呼び出すURLは 'test_array.aspx?term = whateverityped'です – Josh