如果选择日期,隐藏图标

If date is selected, hide icon

我正在尝试完成这个(简单的)任务,但我无法弄明白。这在我脑海中很容易。

这是带有图标、输入和标签的 div:

<div id="datefromto" class="field text-field @if(isset($value)){{ 'active' }}@endif @if(isset($readonly)){{ 'readonly' }}@endif">
        <label>{{ $label }} From:</label>
        <i class="material-icons calendar-icon">access_time</i>
        <input  name="{{ $name }}" type="text" class="datetime" @if(isset($value))value="{{ $value }}"@endif>
    </div>

我试过了,但效果不佳:

   $('#datefromto input[type=text]')(function(){
    if ($(this).val()){
        $('.calendar-icon').css("display", "none");
    }
});

快到了。 将 change 处理程序添加到设置日期的输入元素并隐藏图标

    $(".datetime").on('change', function() {
        if(this.val()) {
            $('.calendar-icon').css("display", "none");
        }
    });

我建议您使用输入事件,而不是更改。 (基于 this answer

 $(".datetime").on('input', function() {
        $('.calendar-icon').toggle(!$(this).val());
    });