我正在使用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" })
请让我知道这个问题!
答案 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是否正在运行。