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

点击保存按钮时如何将输入框值添加为父div的类?

解决方案

1. 先明确HTML结构参考

假设你的表单结构大致如下(可根据实际情况调整):

<div class="input-wrapper">
  <input type="text" class="custom-input" placeholder="输入类名">
</div>
<div class="input-wrapper">
  <input type="text" class="custom-input" placeholder="输入类名">
</div>
<button id="save-button">保存</button>

2. 绑定保存按钮点击事件(核心代码)

别再用输入框的change事件了,直接给保存按钮绑定click事件,只有用户主动点击时才执行操作:

$("#save-button").on("click", function() {
  // 遍历所有目标输入框
  $(".custom-input").each(function() {
    const $input = $(this);
    const inputVal = $input.val().trim(); // 去掉前后空格
    const $parentDiv = $input.parent(); // 获取当前输入框的父div

    // 可选:移除之前添加的自定义类,避免重复累加
    // 这里保留默认类input-wrapper,移除其他用户添加的类
    $parentDiv.attr("class", function(_, currClass) {
      return currClass.split(" ").filter(cls => cls === "input-wrapper").join(" ");
    });

    // 输入值非空时才添加类名,同时过滤非法字符(类名不能有空格、特殊符号)
    if (inputVal) {
      const validClass = inputVal.replace(/[^a-zA-Z0-9-_]/g, "");
      $parentDiv.addClass(validClass);
    }
  });

  // 触发你的保存流程
  doSave();
});

// 示例保存流程函数,替换成你的实际逻辑
function doSave() {
  // 比如提交表单、发AJAX请求等
  console.log("开始执行保存操作");
}

3. 关键细节提醒

  • 选择器要准确:确保.custom-input能精准匹配所有需要处理的输入框,别再因为选择器写错拿不到值。
  • 类名要合法:用户输入的内容可能有空格或特殊字符,必须过滤掉,不然类名会失效。
  • 避免重复类名:每次保存前清理之前的自定义类,防止多次点击后父div上堆一堆重复类。
  • 空值处理:去掉输入值的前后空格,避免空字符串被当成类名添加。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 02:46:18