私はjQueryオートコンプリートとその正常に動作しているを使用していますが、次の条件が発生したときにjQueryからセッションに変数を格納したいと思います。
誰かがWord jQueryを入力すると、候補ドロップダウンからアイテムを選択すると、候補ドロップダウンが表示されます。
上記のポイントをキャプチャし、変数をセッションに格納したい。
Google、StackOverflowを検索しましたが、関連する解決策は見つかりませんでした。オートコンプリートの私のコードは次のとおりです。
$(".autosearch-smart").autocomplete('Home/GetCompanyNames', {
minChars: 1,
width: 402,
matchContains: "Word",
autoFill: true
});
これは私がやろうとしたことです:
$(".autosearch-smart").autocomplete('Home/GetCompanyNames', {
minChars: 1,
width: 402,
matchContains: "Word",
autoFill: true,
select: function (a, b) {
alert("selected");
}
});
編集:イベントハンドラの選択も機能していません
C#でasp.net MVC3を使用しています。私を助けて、事前に感謝します。
だから私が正しく理解しているなら、あなたは可変セッションに選択された値を保存したいです
次のコードを使用して、選択したアイテムから値を取得できます。
$(".autosearch-smart").autocomplete('Home/GetCompanyNames', {
minChars: 1,
width: 402,
matchContains: "Word",
autoFill: true,
select: function (event, ui) {
var label = ui.item.label;
var value = ui.item.value;
//store in session
document.valueSelectedForAutocomplete = value
}
});
値とラベルはサーバーから取得されたjsonオブジェクトです
お役に立てれば
まあ、あなたがasp.net mvc3を使用してセッションに保存したい場合は、次のようにします
$(".autosearch-smart").autocomplete('Home/GetCompanyNames', {
minChars: 1,
width: 402,
matchContains: "Word",
autoFill: true,
select: function (event, ui) { //must be cleared with function parameter
//alert(ui.item.label); //will show you the selected item
$.ajax({
type: 'POST',
url: '/Controller/Action1', //whatever any url
data: {label: ui.item.label},
success: function(message) { if(message.data == true) ... else ... },
dataType: 'json'
});
}
});
およびコントローラー
[HttpPost]
public JsonResult Action1( string label ) {
this.Session["AnyValue"] = label;
return Json( new {
data = true
}, JsonRequestBehavior.AllowGet );
}