没有添加js代码(.Net MVC4),Datepicker在模态页面中不起作用

时间:2015-02-10 02:34:10

标签: .net model-view-controller datepicker modal-dialog

我对modal和datepicker有些问题。 我已经尝试用Google搜索并尝试了一些建议,但仍然没有解决我的问题。

我使用互联网上的模板,并使用侧栏/页眉和页脚的共享布局。 我把所有的css / js渲染脚本放在我的共享布局中。 我使用另一个文件作为我的模态,所以有1个页面的3个cshtml文件(共享布局,主页面,模态页面)

这是我用于datepicker的代码:

<input type="text" id="datepicker" data-plugin-datepicker class="form-control">

这个代码在主页面中工作正常而不添加任何js代码,但是当弹出模式时,如果我没有在模态文件中放入js脚本,它就没有显示任何内容。

我必须使用此代码使日期选择器在我的模态页面中运行:

<script>
        $(function () {
              $("#datepicker").datepicker();
        });
</script>

这有什么问题吗?

我无法将日期格式从mm / dd / yyyy更改为dd-mm-yyyy。

我已经使用了这段代码:

<script>
        $(function () {
              $("#datepicker").datepicker({
                  dateFormat: 'dd-mm-yy'});
        });
</script>

任何人都知道为什么格式不起作用?

由于 菲利克斯

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,我认为你的问题是你只有一个匹配的id用于相应的javascript代码。这意味着你的id =“datepicker”只能使用一次

<input type="text" id="datepicker" data-plugin-datepicker class="form-control">

使用此代码:

<script>
    $(function () {
          $("#datepicker").datepicker();
    });
</script>

要使其正常工作,您应该执行另一个javascript并为页面上的另一个日期选择器使用另一个id值:

<input type="text" id="datepicker2" data-plugin-datepicker class="form-control">

<script>
    $(function () {
          $("#datepicker2").datepicker();
    });
</script>

或者您可以将此代码放在您的javascript文件中:

$(function() {

  for (i = 0; i <= 100000; i++) {
    $( "#datepicker"+i ).datepicker();
  }
});

然后在不同的html页面上使用以下内容:

<input type="text" id="datepicker3" data-plugin-datepicker class="form-control">
<input type="text" id="datepicker4" data-plugin-datepicker class="form-control">
<input type="text" id="datepicker5" data-plugin-datepicker class="form-control">

依此类推,直到100000:

<input type="text" id="datepicker100000" data-plugin-datepicker class="form-control">

html id是唯一的,你不能重复使用它。

答案 1 :(得分:0)

如果您符合以下条件,则您的日期选择器仅适用于某个页面: 1)导入包含该页面上的datepicker javascript代码的javascript文件 2)您将javascript代码放在页面上,就像您在问题中所说的那样。

在你的主页上,我假设datepicker有效,因为有一个javascript文件(something.js)被这样的某行输入你的主页:

<script src="something.js"></script>

在这个something.js中,有相同的javascript代码使你的datepicker工作。这就是为什么你不需要在主页上做2)选项。

但是在您的模态页面上,没有这样的行,所以这就是你需要把

的原因
<script>
  $(function () {
      $("#datepicker").datepicker();
  });
</script>

使其正常工作,或者您可以将javascript文件导入到模态页面以使其正常工作。