如何检查输入字段是否已填写并且已选择单选按钮

时间:2016-02-17 10:39:52

标签: javascript jquery

我想检查输入字段是否已填写并且我的某个单选按钮已被选中。我尝试了以下方法:

$('input').keyup(function() {
    var empty = false;
    if ($('input[type="text"]').val() == '' && $(!$('input[type="radio"]:checked').val())) {
        empty = true;
    }
    if (empty) {
        $('button').attr('disabled', 'disabled');
    } else {
        $('button').removeAttr('disabled');
    }
});

但它不起作用,例如它只检查input - 字段。谁能告诉我我做错了什么?

2 个答案:

答案 0 :(得分:2)

无线电选择

不会触发键盘事件

$('input').on('keyup change', function() {
  $('button').prop('disabled', $('input[type="text"]').val() == '' || !$('input[type="radio"]').is(':checked'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button disabled>Save</button>
<input type="text" />
<input type="radio" />

答案 1 :(得分:0)

应该有效

$('input').keyup(function () {
      var empty = false;
      if ($('input[type="text"]').val() == '' && $('#radio_button').is(':checked')) {
             empty = true;
       }

       if (empty) {
            $('button').attr('disabled', 'disabled');
        } else {
            $('button').removeAttr('disabled');
        }
 });