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

如何基于当前语言动态设置下拉框关联的span标签文本?

问题描述

我在jQuery开发中遇到需求:需根据当前语言显示Chosen选择器的默认文本。当语言为阿拉伯语(ar-KW)时显示“اختر منفذ”,英语时显示“Select an Option”,可通过MYLang.ReturnLang() == "ar-KW" ? "اختر منفذ" : "Select an Option"获取对应文本。

现有jQuery代码如下:

for (var i in Result.d.P_DISPATCH_DATA) {
  var row =
    "<tr align='center' id='tr" +
    Result.d.P_DISPATCH_DATA[i].DISPATCH_RECID +
    "' class='record'> " +
    "<td>" +
    //(rowNo + 1) + "</td><td>" +
    Result.d.P_DISPATCH_DATA[i].CUSTOMER_NAME +
    "</td> <td style='width:150px'>";

  row +=
    "<select id='ddl_Port" +
    Result.d.P_DISPATCH_DATA[i].DISPATCH_RECID +
    "' class='form-control chosen-select chosen-rtl' tabindex='1'><option value=''></option>";
  var countriesPorts = Result.d.P_PORTS.filter(
    (d) => d.COUNTRY_ID == Result.d.P_DISPATCH_DATA[i].PICKUP_COUNTRY_ID,
  );

  if (countriesPorts != null) {
    if (countriesPorts.length > 0) {
      for (var j in countriesPorts) {
        row +=
          " <option value='" +
          countriesPorts[j].PORT_ID +
          "'>" +
          countriesPorts[j].PORT_NAME +
          "</option> ";
      }
      row += " </select></td>";
    }
  }
}

渲染后的HTML中,Chosen生成的<span>始终显示英文“Select an Option”,需要替换为对应语言的文本。

解决方案

方法一:初始化Chosen时设置占位符(推荐)

Chosen插件支持通过placeholder_text参数配置默认文本,在渲染完HTML后初始化Chosen时,根据当前语言设置对应值:

// 假设已将生成的row追加到页面表格中
var placeholderText = MYLang.ReturnLang() == "ar-KW" ? "اختر منفذ" : "Select an Option";

$('.chosen-select').chosen({
  placeholder_text: placeholderText,
  // 其他Chosen配置参数(如width等)可按需添加
});

方法二:直接修改已生成的Chosen元素文本

若Chosen已完成初始化,可直接定位到对应的span元素修改内容:

var placeholderText = MYLang.ReturnLang() == "ar-KW" ? "اختر منفذ" : "Select an Option";

// 遍历所有Chosen选择器的默认显示span
$('.chosen-container .chosen-single span').text(placeholderText);

注意事项

  • 方法二需确保在Chosen初始化完成后执行,否则可能无法找到目标元素。
  • 方法一更符合插件原生逻辑,避免直接操作插件生成的DOM结构,降低版本兼容风险。

内容的提问来源于stack exchange,提问作者ahmed salah abd elaziz elbarba

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 19:32:33