のjQuery v1.2.6jQueryオートコンプリートでPOSTをどのように使用しますか?
jQuery.autocompleterプラグインv1.1pre私は 'タイプ: "POST"' で提出することはできませんよ
(jQueryのウェブサイトから)戻って私のWebサービスへ。私はそれをオートコンプリートで認識させることはできません。思考?
"q"クエリーストリングを探す限り、以下のコードは正常に動作します。しかし、私はこれを、より多くのパラメータを渡すことによって、将来のより高度な機能に使用したいと思います。また、オートコンプリートを使用してポストバックする方法を理解しています。
私はextraParamsオプションについて認識しています。しかし、それらはGETまたはPOST(私たちがPOSTを動作させることができれば)によって提出される余分なパラメータです。それはPOSTとして送信するために変更されません。
$(function() {
$('#searchBox').autocomplete(
"/services/college.asmx/lookupColleges",
{
delay: 5,
minChars: 1,
matchSubset: 1,
matchContains: 1,
cacheLength: 10,
autoFill: false,
dataType: 'json',
parse: function(data) {
var rows = new Array();
for (var i = 0; i < data.length; i++) {
rows[i] = {
data: data[i]
, value: data[i].Data
, result: data[i].Name
};
}
return rows;
},
formatItem: function(row, i, n) {
return row.Name;
}
}).result(function(event, row) {
processSelection(this, row.Data);
});
});
POSTのオプションを追加しようとしましたが、以下のコードサンプルに記載されています。しかしそれはまだGETとして提出する。
delay: 5,
minChars: 1,
matchSubset: 1,
matchContains: 1,
cacheLength: 10,
autoFill: false,
dataType: 'json',
type: 'POST',
何か助けていただければ幸いです。
ありがとうございました!
PS、これは多くの文書化されていない、試行錯誤の後に把握するPITAでした。火かき棒の良さに感謝します。
あなたは私はあることに注意しましょう:
- オートコンプリートがネイティブJSONを扱うことができないWebサービスから戻ってJSONを受けるので、私は私自身の配列にそれを解析する必要があります。
- カスタム配列オブジェクトを返すようになったので、表示目的で新しい配列オブジェクトを処理するには、formatItemを上書きする必要があります。
- 最後に、お金を集めました。ユーザーが行(マウスクリックまたはTabキーまたはEnterキー)を選択すると、その行の余分なデータを処理したいと考えています。私はresult()デリゲートでこれを行います。
私は、上記のコードが今後も他の人たちを助けて、オートコンプリートを理解することを本当に願っています。もしそうなら、私に投票の上を与えてください。
ヒント:プロパティ名data [i] .Dataおよびdata [i] .Nameは、JSONプロパティ名です。
私は今週末にこの作業をやり直しています(これはGETを使用しているので動作しています)。お知らせいたします。 – eduncan911
動作しませんでした。オートコンプリートは、後のバージョンのjQueryに含まれる予定で、内部動作の変更について説明しています。うまくいけば、AJAXをサポートする。私はquerystringsを使うように変更しました。 – eduncan911