MVC3 - указатель даты jQuery, когда несколько элементов имеют одинаковый идентификатор - PullRequest
1 голос
/ 08 ноября 2011

У меня странная ситуация (не так ли?) С датчиками и я хочу получить совет.

У меня есть экран со списком местоположений, и для каждого местоположения они могут нажать кнопку Изменить.и отредактируйте это местоположение.Правка отображается под ссылкой «Правка», и они могут редактировать несколько мест одновременно.Это означает, что один и тот же вид отображается на экране несколько раз, и поэтому несколько полей будут существовать с одним и тем же идентификатором (редактирование 4 местоположений приведет к 4 полям «DateOpened»).

Итак, когда я загружаю свой просмотрjavascript добавляет указатели даты в любые поля, которые в нем нуждаются, например:

$(document).ready(function () {
    var elements = $(".NeedsDatePicker > td > input");
    $(".NeedsDatePicker > td > input").datepicker();
    $(".NeedsDatePicker").removeClass("NeedsDatePicker");
});

Работает нормально, но, как вы, наверное, уже поняли, когда я нажимаю на дату в каландре, она заполняет первое "DateOpened "поле, когда открыто несколько окон редактирования.

Есть ли способ указать указателю даты использовать поле WITHIN для определенного родителя, как вы можете это сделать для общего выбора jQuery?

$("#DateOpened", "Location-134").doWhatever...

... или есть способ присвоить полям разные идентификаторы, не нарушая функцию MVC UpdateModel ()?Или любой другой совет?

1 Ответ

1 голос
/ 08 ноября 2011

Вы обязательно должны хранить уникальные идентификаторы в HTML DOM. Большинство, если не все, библиотеки / фреймворки DOM-манипуляций, включая jQuery, имеют встроенное предположение.

Есть несколько вопросов по SO WRT, чтобы избежать идентичных идентификаторов в форме:

...