如果选择了日期,则隐藏图标

时间:2019-06-03 07:37:37

标签: javascript jquery css input display

我正在尝试完成此(简单)任务,但我无法弄清楚。这在我脑海中很容易。

这是带有图标,输入和标签的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");
    }
});

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

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