Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MVC3-多个元素具有相同ID时的jQuery日期选择器_Javascript_Asp.net Mvc_Jquery Ui_Datepicker_Updatemodel - Fatal编程技术网

Javascript MVC3-多个元素具有相同ID时的jQuery日期选择器

Javascript MVC3-多个元素具有相同ID时的jQuery日期选择器,javascript,asp.net-mvc,jquery-ui,datepicker,updatemodel,Javascript,Asp.net Mvc,Jquery Ui,Datepicker,Updatemodel,我有一个奇怪的情况(我们不是都吗?) 我有一个带有位置列表的屏幕,对于每个位置,他们可以单击“编辑”并编辑该位置。“编辑”显示在“编辑”链接下方,它们可以一次编辑多个位置。这意味着同一视图在屏幕上呈现多次,因此将存在具有相同id的多个字段(编辑4个位置将产生4个“DateOpen”字段) 因此,当我加载视图时,javascript会将日期选择器添加到任何需要它的字段中,如下所示: $(document).ready(function () { var elements = $(".Nee

我有一个奇怪的情况(我们不是都吗?)

我有一个带有位置列表的屏幕,对于每个位置,他们可以单击“编辑”并编辑该位置。“编辑”显示在“编辑”链接下方,它们可以一次编辑多个位置。这意味着同一视图在屏幕上呈现多次,因此将存在具有相同id的多个字段(编辑4个位置将产生4个“DateOpen”字段)

因此,当我加载视图时,javascript会将日期选择器添加到任何需要它的字段中,如下所示:

$(document).ready(function () {
    var elements = $(".NeedsDatePicker > td > input");
    $(".NeedsDatePicker > td > input").datepicker();
    $(".NeedsDatePicker").removeClass("NeedsDatePicker");
});
工作正常,但是,正如您可能已经了解到的,当我单击日历上的日期时,它会在多个编辑窗口打开时填充第一个“DateOpen”字段

有没有一种方法可以告诉datepicker在某个父级中使用该字段,就像在常规jQuery选择中一样

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

…或者有没有一种方法可以在不破坏MVC的UpdateModel()函数的情况下为字段指定不同的id?或者任何其他建议?

您肯定应该在HTML DOM中保持ID的唯一性。大多数(如果不是全部的话)DOM操作库/框架(包括jQuery)都内置了这种假设

为了避免表单中出现相同的ID,SO WRT上有几个问题:


但这不会破坏MVC的TryUpdate模型吗?它不会找到名为“LocationAddress”的字段,而是会找到LocationAddress1、2等,这与它绑定到的模型不匹配。如果有多个元素具有相同的ID,这会不会多次更新同一元素?我认为解决这个问题的一种方法可能是使用一个视图模型来包装具有相同属性名称的模型。