【问题标题】:datepicker not working on first load, jquerydatepicker 在第一次加载时不起作用,jquery
【发布时间】:2017-12-04 06:38:13
【问题描述】:

我正在使用 datepicker jquery 来处理 2 个输入“from”和“to”过滤器。 如果选择了其中一个过滤器(从/到),我想将其设为必需。如果用户不想使用日期过滤器,我想删除所需的属性。

但是,在我在“来自”输入中选择日期后,该操作在首次提交时不会受到影响。 不知何故,“来自”输入在第一次加载时无法识别日期选择器的值。

有人知道为什么第一次提交就不行吗?

这里是jquery的代码:

$(document).ready(function () {
    if ($('#to').val().length == 0 && $('#from').val().length == 0) {
        $('#from').removeAttr('required');
        $('#to').removeAttr('required');
    }
    else if ($('#to').val().length > 0 ) {
        $('#from').attr('required');
    }
    else if ($('#from').val().length > 0) {
        $('#to').attr('required');
    }
});

对于from和to的输入,我默认设置为必填。

 @Html.TextBoxFor(modelitem => Model.startdate, new { @class = "datepicker form-control" ,@placeholder = "Select From Date" , @id="from" , @required = "required" })

 @Html.TextBoxFor(modelitem => Model.finishdate, new { @class = "datepicker form-control", @placeholder = "Select To Date" , @id = "to" , @required = "required" })

请告诉我问题所在!

【问题讨论】:

  • 您是否在控制台中遇到任何错误?你检查了吗?
  • 你能在 JsFiddle 中重现这个,让我们看看吗?

标签: javascript c# jquery jquery-ui-datepicker


【解决方案1】:

尝试在document.ready 函数中删除它

<script>
     if ($('#to').val().length == 0 && $('#from').val().length == 0) {
        $('#from').removeAttr('required');
        $('#to').removeAttr('required');
    }
    else if ($('#to').val().length > 0 ) {
        $('#from').attr('required');
    }
    else if ($('#from').val().length > 0) {
        $('#to').attr('required');
    }
</script>

或使用:

Alert("this is want to know on first run")

在您的 if else 声明中

除了: 在第一次运行时右键单击页面 = > 控制台菜单并检查一些错误或任何 jquery 是否正在运行。

【讨论】:

  • 如果我删除准备好的文档,第一次加载页面,我无法提交,因为需要默认值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多