1

我正在开发一个 asp.net mvc 3 应用程序。在我的一个部分视图中,我渲染了所有应该提供选择日期选项的字段。我使用 jQuery datepicker 插件和我在网上找到的一些示例代码:

if (field[i].MCS_Fields.FieldTypeId == 2)
                    { 
                        <script type="text/javascript">
                            $(function () {
                                $(".datepicker").datepicker();
                            });
                        </script>
                        @field[i].QuestionText;
                        @Html.TextBox("datepicker", "", new { @class = "datepicker" })
                    }

问题是,如果我这样做不止一个@Html.TextBox,无论我在哪里选择日期,更改都只会在第一个带有class="datepicker". 我几乎没有 JS、jQuery 等方面的经验,所以你能建议一种方法让我添加N数量@Html.TextBox并能够分别为每个选择日期吗?

4

2 回答 2

1

把它放在你的页面底部,它会呈现所有的日期选择器:

$(".datepicker").each(function() {
    $(this).datepicker();
});

编辑:如果它不起作用我猜可能是你把它放在错误的地方所以代码在 html 呈现之前运行,试试这个

$(document).ready(function(){
    $(".datepicker").each(function() {
        $(this).datepicker();
    });
});

jsfiddle

于 2013-05-14T10:29:07.910 回答
1

您可以使用: 使用每个功能:

  $(".datepicker").each(function() {
        $(this).click(function() {
            $(this).datepicker();
        });
    });

如果这不起作用,那么您也可以使用它:

<script type="text/jscript">
     $(function () {
         $("#StartDate").datepicker();
     });
  </script>

这里 StartDate将是您的日期选择器的 ID。你可以在你的视图中写这个

于 2013-05-14T10:44:50.477 回答