datepicker不能在第一次加载时运行,jquery

时间:2017-12-04 06:38:13

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

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

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

任何人都知道为什么它不能在第一次提交时起作用?

这是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');
    }
});

输入和来自,我默认设置它。

 @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" })

请让我知道这个问题!

1 个答案:

答案 0 :(得分:0)

尝试在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声明中

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