根据jQuery

时间:2017-09-06 13:58:26

标签: jquery html

我想要实现的是,当输入值为0或不存在时,#alert应该能够显示。当输入值不是0时,即使选择了另一个选项,它也应保持隐藏状态。

它应该像那样工作:

1)选择一个选项

2)警报出现

3)填充输入(0以外)

4)警告消失

5)除非输入值更改为0或删除,否则它不会出现,即使您再次更改选项

也是如此

jQuery('#mydiv').after('<span id="alert">alert</span>');
  jQuery('select').change(function() {
jQuery('#alert').toggle(this.value !== '');
});
#alert {
  display: block;
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="mydiv">
  <select>
    <option>1</option>
    <option>2</option>
    <option>3</option>
  </select>
</div>

<input value="">

4 个答案:

答案 0 :(得分:0)

jQuery('#mydiv').after('<span id="alert">alert</span>');
jQuery('select').change(function() {
    if(this.value == 0 || this.value == ''){
        jQuery('#alert').toggle();
    }
});

答案 1 :(得分:0)

试试这个:

jQuery('#mydiv').after('<span id="alert">alert</span>');

jQuery('select').change(function() {
  var input_val = jQuery('#some_input').val();
  var show_alert = (input_val == 0 || input_val == "");

  show_hide_alert(show_alert);
});

jQuery('#some_input').change(function() {
  var val = $(this).val();
  var show_alert = ( val == 0 || val == "" );

  show_hide_alert(show_alert);
});

function show_hide_alert(show) {
  if( show ) {
    jQuery('#alert').show();
  } else {
    jQuery('#alert').hide();
  }
}
#alert {
  display: block;
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="mydiv">
  <select>
    <option>1</option>
    <option>2</option>
    <option>3</option>
  </select>
</div>

<input id="some_input" value="">

答案 2 :(得分:0)

希望这会有所帮助。

  1. 最初,UICollectionViewDelegate将被隐藏。
  2. 选择任何选项时 显示alert
  3. 输入任何文本时,除0和之外的其他文本 如果为空,则即使选择选项为alert也会隐藏 改变。
  4. 当输入值为0或空白时,alert为 显示。
  5. &#13;
    &#13;
    alert
    &#13;
    $(document).ready(function () {
        jQuery('#mydiv').after('<span id="alert" style="display:none;">alert</span>');
    
        jQuery('select').change(function () {
            var inputVal = $.trim($('input').val());
            jQuery('#alert').toggle(this.text !== '' && (inputVal === "" || inputVal == "0"));
        });
    
        jQuery('input').focusout(function(){
            var inputVal = $.trim($(this).val());
            jQuery('#alert').toggle((inputVal === "" || inputVal == "0"));
        })
    });
    &#13;
    &#13;
    &#13;

答案 3 :(得分:-1)

所以你有2个事件:

  • 选择更改事件:应显示警报
  • 输入更改事件:警报应该出现/消失,无论输入是否为空/ 0

这是我的解决方案:

&#13;
&#13;
https://test.co
&#13;
jQuery('#myDiv').after('<span id="alert">alert</span>');
jQuery('#mySelect').change(function() { jQuery('#alert').toggle(true); });
jQuery('#myInput').change(function() {
  jQuery('#alert').toggle(this.value == 0 || this.value == '');
});
&#13;
&#13;
&#13;