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

如何使用jQuery移除Material CSS下拉框选项文本的下划线?

最优实现方案:客户端修改Materialize下拉框选项文本

由于Materialize的formSelect()会将原生<select>转换为自定义UI组件,直接修改原生选项后必须重新初始化组件,才能让变更同步到前端显示。以下是高效的实现方式:

核心代码实现

$(document).ready(function() {
  // 遍历目标下拉框的所有选项,处理文本
  $('#select_id option').each(function() {
    const originalText = $(this).text();
    // 按需求移除下划线及后续内容(示例中select1_1 → select1)
    const processedText = originalText.split('_')[0];
    $(this).text(processedText);
  });

  // 初始化Materialize下拉组件(确保修改后的选项生效)
  $('#select_id').formSelect();
});

变体需求处理

如果需要移除所有下划线(而非仅保留下划线前的内容),可以将文本处理逻辑替换为:

const processedText = originalText.replace(/_/g, '');

方案优势

  • 性能高效:直接操作原生DOM元素,仅遍历一次目标选项
  • 组件兼容:严格遵循Materialize组件生命周期,修改后重新初始化确保UI与数据同步
  • 精准控制:通过ID指定目标下拉框,避免影响页面其他下拉组件

注意事项

  • 若选项是异步加载(如通过AJAX从数据库获取),需将文本处理代码放在数据加载完成的回调函数中,再调用formSelect()
  • 避免全局选择$('select'),优先使用具体ID或类选择器,减少不必要的DOM操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:00:28