ActionLinkを使用して動作するように選択されたチェックボックスのリストを取得する方法を試しています。私はJavaScriptを使って何かのクライアントをする必要があると思いますが、関連するコードを見つけることはできません。選択したチェックボックスのリストをビューからコントローラに送信する方法
次のコードは、送信ボタンを使用して完全に動作し、選択したIDをIDの配列としてポストバックしますが、他のボタンがあるページでこれを設定する必要があります。
// the view
@foreach (var station in Stations)
{
<input type="checkbox" name="selected" value="@station.StationId" />
}
<input type="submit" value="Save" />
//Controller stub
public ActionResult Action(string [] selected)
私は時間のために、この上で立ち往生されているので、多分私はこれで間違った方法を探しています。
PS。私の最初のポストは、ここで多くの時間を読んで学びました。
<div id="MyDiv">
@foreach (var station in Stations)
{
<input type="checkbox" name="selected" value="@station.StationId" />
}
</div>
スクリプト:
$(document).ready(function() {
$('#someButton').click(function() {
var list = [];
$('#MyDiv input:checked').each(function() {
list.push(this.name);
});
// now names contains all of the names of checked checkboxes
// do something with it for excamle post with ajax
$.ajax({
url: '@Url.Action("Action","Contoller")',
type: 'POST',
data: { Parameters: list},
success: function (result) {
alert("success")!
},
error: function (result) {
alert("error!");
}
}); //end ajax
});
});
ControllのCheckBoxListを投稿する
あなたはリンクをクリックしてサーバーにコンテンツの投稿を取得できますか?これらのチェックボックスはフォーム内にあると仮定できますか? Ajax投稿ですか? – Jack
はい、リンクをクリックするだけです。私は私のビュー(PartialView)でフォームを使用していないが、@ Html.FormBegin()を使用して、送信ボタンを互いに区別することができることを認識している。私はAjaxやJavaScriptに慣れていないので、私はここで苦労しています。 – tr3v