Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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 根据下拉列表中选择的值设置datetimepicker格式_Javascript_Jquery_Ruby On Rails_Datepicker_Haml - Fatal编程技术网

Javascript 根据下拉列表中选择的值设置datetimepicker格式

Javascript 根据下拉列表中选择的值设置datetimepicker格式,javascript,jquery,ruby-on-rails,datepicker,haml,Javascript,Jquery,Ruby On Rails,Datepicker,Haml,我希望datetimepicker仅显示用户在下拉列表中选择“天”时的天,并显示用户选择“月”时的月 代码位于haml文件中: = select_tag 'date_format', options_for_select(["Days", "Months"]), onchange: "myFunction()" = text_field_tag :from, class: 'datepick' :javascript function myFunction() { var

我希望datetimepicker仅显示用户在下拉列表中选择“天”时的天,并显示用户选择“月”时的月

代码位于haml文件中:

= select_tag 'date_format', options_for_select(["Days", "Months"]), onchange: "myFunction()"

= text_field_tag :from, class: 'datepick'

 :javascript
  function myFunction() {
      var value = document.getElementById("date_format").value;
      if (value == "Days") {
        $(".datepick").datepicker("destroy");
        $(".datepick").datetimepicker({
          format: 'd.m.Y'
        });
      } else if (value == "Months") {
        $(".datepick").datetimepicker("destroy");
        $(".datepick").datepicker({
          format: "mm/yyyy"
        });
      }
  }

现在它不好用。请帮我找出哪里出了错。如何覆盖(“.datepick”)?

尝试使用“dateFormat”和“formatDate”选项而不是“format”

我找到的唯一选项是创建另一个文本字段标记并隐藏/显示它:

= text_field_tag :from, class: 'datepick'
= text_field_tag :from, class: 'datetimepick'

:javascript
  function myFunction() {
      var value = document.getElementById("date_format").value;
      if (value == "Days") {
        $(".datepick").hide();
        $(".datetimepick").show();
        $(".datetimepick").datetimepicker({
          format: 'd/m/Y'
        });
      } else if (value == "Months") {
        $(".datetimepick").hide();
        $(".datepick").show();
        $(".datepick").datepicker({
          format: "mm/yyyy"
        });
      }
  }

如果您不了解问题,请将类日期选择添加到您的选择标记中。在选择“月”的情况下,我得到一个只有月的日历-这很好。但如果选择“天”,我会得到两个日历——一个只有月,另一个有天。