車のリストを含むデータテーブルがあります。htmlの各行には車IDが含まれています。データテーブルの最初のセルにチェックボックス列を追加しました。チェックされている場合、行はハイライト表示され、ユーザーがその行を選択したことを示します。私がやろうとしているのは、ユーザーがページのボタンをクリックしたときに選択したすべての車のすべてのIDを取得することです。(また、テーブルの行にチェックボックスがある他の列があります(つまり、テーブルの列5または6のように、手動の列または時々チェックされる自動の列)
これは私のページのcshtmlの一部です。
@foreach (var car in Model.Cars)
{
<tr carId="@Html.DisplayFor(modelItem => car.CarID)">
<td class="table-data">
<input id="SelectIndividual" name="Select" type="checkbox" />
</td>
//more stuff set in other tds in table
次に、これは私がこれまでにページに対して持っているJSです。
$('#GetSelectedCars').click(function (event) {
var cars= new Array();
carsListTable.find("tr").each(function (index, para) {
$('tr').find('td:input:checked:first').each(function () {
var car= new Object();
alert($(this).parent().parent().attr("carId"));
car.ID = $(this).parent().parent().attr("carId");
cars.push(car);
});
});
var jsonString = $.toJSON(cars);
次に、json文字列をコントローラーに返します(これを行うには、モデルの非表示フィールドに値を渡してから逆シリアル化しますが、すぐに空になります。私の問題は、取得するための最良の方法を取得することです。チェックされている場合、行のID?