Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
C# 在一个页面上输入多个jQuery日期_C#_Jquery_Asp.net Mvc - Fatal编程技术网

C# 在一个页面上输入多个jQuery日期

C# 在一个页面上输入多个jQuery日期,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,因此,我在mvc页面中的多个项目上生成日期选择器(根据上一页的数据,未定义的数量) 目前只有最后一个文本框上有日期选择器 我首先为每个项目生成一个datepicker函数 @for (int p = 0; p < Model.InputParameters.Count; p++) { if (Model.InputParameters[p].DatePicker)) { var name2 = "#datepicker"+p;

因此,我在mvc页面中的多个项目上生成日期选择器(根据上一页的数据,未定义的数量)

目前只有最后一个文本框上有日期选择器

我首先为每个项目生成一个datepicker函数

  @for (int p = 0; p < Model.InputParameters.Count; p++)
  {
      if (Model.InputParameters[p].DatePicker))
      {
            var name2 = "#datepicker"+p;

            <script type="text/javascript">
                var jsondetail2 = '@Html.Raw(Json.Encode(name2))';
                var newname2 = JSON.parse(jsondetail2);
                $(function () {
                    $(newname2).datepicker();
                });
            </script>
      }
}

firebug中没有错误,每个日期选择器都会生成javascript,但只有最后一个日期选择器会触发。我仍在学习javascript,因此任何解释和答案都将不胜感激!谢谢大家。

您的脚本正在执行,但找不到任何文本框来绑定日期选择器(即,脚本在生成输入之前启动,因此jQuery选择器无法找到输入)。您需要重新构造,例如:

@for (int p = 0; p < Model.InputParameters.Count; p++)
{
  if (Model.InputParameters[p].DatePicker))
  {
       var id = "datepicker" + p.ToString();
       @Html.TextBoxFor(modelitem => Model.InputParameters[p].Value, DateTime.Now.ToString("dd/MM/yyyy"), new { @id = id})

       <script type="text/javascript">
           //var jsondetail2 = '@Html.Raw(Json.Encode(name2))';
           var newname2 = "#@(Html.Raw(id))";//JSON.parse(jsondetail2);
           $(function () {
               $(newname2).datepicker();
           });
       </script>
  }
}
for(int p=0;pModel.InputParameters[p].Value,DateTime.Now.ToString(“dd/MM/yyyy”),new{@id=id}) //var jsondetail2='@Html.Raw(Json.Encode(name2)); var newname2=“#@(Html.Raw(id))”;//JSON.parse(jsondetail2); $(函数(){ $(newname2.datepicker(); }); } }
经过大量的谷歌搜索,这个问题终于解决了

在我的for循环中生成每个文本框,如下所示

         var id = "datepicker" + i;
         @Html.TextBoxFor(modelitem => Model.InputParameters[i].Value,DateTime.Now.ToString("dd/MM/yyyy"), new { @id = id, @class = "datepicker"})
和新的javascript(IE6,7需要准备文档)


我以前也尝试过类似的方法,我只是尝试了一下,但似乎只有最后一个框会弹出日期选择器。生成的html等看起来不错,ID匹配,firebug中没有任何内容。。。
         var id = "datepicker" + i;
         @Html.TextBoxFor(modelitem => Model.InputParameters[i].Value,DateTime.Now.ToString("dd/MM/yyyy"), new { @id = id, @class = "datepicker"})
    $(document).ready(function () {
        $('.datepicker').each(function () {
            $(this).datepicker({ dateFormat: "dd/mm/yy" });
        });
    });