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

如何用jQuery获取选择器字符串并实现输入框自动赋值?

实现方法

首先明确:jQuery没有提供公开的selectorstring属性来直接获取选择器字符串(旧版jQuery曾有内部selector属性,但新版已移除,不建议依赖)。不过可以通过更可靠的方式实现批量填充,或者按需解析选择器:

推荐方案:直接利用input的name属性

这是最靠谱的方式,因为input的name属性本身就对应数据的键,无需解析选择器:

// 批量填充所有name属性匹配data键的input
$('input[name]').each(function() {
  const fieldKey = this.name;
  if (data.hasOwnProperty(fieldKey)) {
    $(this).val(data[fieldKey]);
  }
});

// 若只需填充指定input,可精准选择
$('input[name=foobar], input[name=foo], input[name=bar]').each(function() {
  $(this).val(data[this.name]);
});

可选方案:解析选择器(仅旧版jQuery兼容)

如果一定要通过解析选择器字符串实现,旧版jQuery(1.x-2.x)中可以通过内部selector属性获取选择器,但该属性在jQuery 3.x及以后已被移除,兼容性差:

$.fn.fillFromSelector = function(data) {
  return this.each(function() {
    const selector = $(this).selector;
    const keyMatch = selector.match(/name=(\w+)/);
    if (keyMatch && data[keyMatch[1]]) {
      $(this).val(data[keyMatch[1]]);
    }
  });
};

// 使用示例(仅旧版jQuery可用)
$('input[name=foobar]').fillFromSelector(data);

总结

优先使用直接读取name属性的方案,代码简洁、兼容性强,完全能替代手动逐个赋值的冗余写法,且无需依赖不稳定的内部属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:13:32