You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery判断空输入框及获取单选框选中值

1. 如何使用jQuery查找空输入框的值?

要找出页面上的空输入框并获取它们的信息,你可以用jQuery的选择器结合过滤方法来实现,这里有两种实用方式:

  • 方式一:筛选所有值为空的表单控件
    如果你想覆盖所有类型的表单输入(比如文本框、文本域、下拉框等),可以用:input选择器配合filter方法:

    // 筛选出所有值为空(或仅含空格)的输入元素
    const emptyInputs = $(':input').filter(function() {
      return $.trim($(this).val()) === '';
    });
    
    // 遍历空输入框,获取它们的相关信息
    emptyInputs.each(function() {
      console.log(`空输入框名称:${$(this).attr('name')}`);
      console.log(`空输入框当前值:${$(this).val()}`); // 结果是空字符串
    });
    
  • 方式二:针对特定类型的输入框
    如果你只需要查找文本输入框,可以缩小选择范围:

    const emptyTextInputs = $('input[type="text"]').filter(function() {
      return $.trim($(this).val()) === '';
    });
    

    把input[type="text"]换成你需要的类型(比如textarea、input[type="email"])即可。

2. 修复单选框的取值逻辑问题

先说说你现有代码的几个小问题:

  1. 你只给.forgot_pass_enable绑定了change事件,点击禁用按钮时完全不会触发这个事件;
  2. 判断val().length > 0没有意义——单选框的value属性本来就存在,不管是否被选中;
  3. 代码里还有个拼写错误:console.log(statusasdad);应该是console.log(status);

最简单的解决方法是监听整个单选框组的change事件,因为同name的单选框是一组,点击任何一个都会触发状态变化:

$('body').on('change', 'input[name="forgot_pass"]', function() {
  // 当前被选中的单选框就是$(this),直接取它的值
  let status = $(this).val();
  // 可选:把字符串转成数字类型
  status = parseInt(status, 10);
  console.log(status); // 点击启用输出1,点击禁用输出0
});

如果你坚持想用类来区分处理,也可以这么写:

$('body').on('change', '.forgot_pass_enable, .forgot_pass_disable', function() {
  let status;
  if ($(this).hasClass('forgot_pass_enable')) {
    status = 1;
  } else {
    status = 0;
  }
  console.log(status);
});

不过第一种方法更简洁,也更符合单选框的使用逻辑~

内容的提问来源于stack exchange,提问作者Salman Iqbal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:28:06