私はdatepickersを使って奇妙な状況に陥っています。MVC3 - 複数の要素が同じIDを持つ場合のjQueryのdatePicker
私は場所のリストを持つ画面を持っており、各場所については編集をクリックしてその場所を編集できます。編集リンクは編集リンクの下に表示され、一度に複数の場所を編集できます。つまり、同じビューが画面に複数回レンダリングされるため、複数のフィールドが同じIDで存在します(4つの場所を編集すると、4つの「DateOpened」フィールドが作成されます)。
だから、私はそうのようにそれを必要とするあらゆる分野にdatepickersを追加javascriptの私のビューをロードする場合:私は、日付をクリックすると、あなたはおそらくすでに、考え出したとして
$(document).ready(function() {
var elements = $(".NeedsDatePicker > td > input");
$(".NeedsDatePicker > td > input").datepicker();
$(".NeedsDatePicker").removeClass("NeedsDatePicker");
});
は、正常に動作しますが、カレンダーでは、複数の編集ウィンドウが開いているときに、最初の "DateOpened"フィールドが表示されます。
一般的なjQueryの選択と同様に、datepickerに特定の親の中にフィールドを使用するよう指示する方法はありますか?
$("#DateOpened", "Location-134").doWhatever...
... MVCのUpdateModel()関数を壊さずにフィールドに異なるIDを与える方法はありますか?またはその他のアドバイス?
しかし、MVCのTryUpdateModelを壊さないだろうか? "LocationAddress"という名前のフィールドを見つけるのではなく、LocationAddress1,2などを検索して、それがバインドしているモデルと一致しないようにします。 –
同じIDを持つ複数の要素を持つ場合、同じ要素を複数回更新するのではないでしょうか?私はこれを回避する方法は、同じプロパティ名でモデルをラッピングするビューモデルを持つことかもしれないと思う。 –
ありがとうウィリアム;私はIDをユニークに保ち、それを動作させました。 –