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

如何通过jQuery操作动态添加的输入,实现同区域下拉与输入联动?

问题根源
  • 原代码中直接使用jQuery(dropdownField).val()获取下拉值,会默认取页面第一个匹配的下拉框的值,而非当前触发change事件的下拉框对应值
  • 赋值时未限定查找范围,jQuery(prjIDfield)会匹配页面所有符合规则的输入框,无法对应到当前区块的目标输入框
  • 原代码变量声明存在语法问题,dropdownField定义后误写分号,导致prjIDfield意外成为全局变量
修复后代码
var values,
dropdownField = "select[id^=field_bev5i972c9c1b67]",
prjIDfield = "input[id^=field_project_id]";

jQuery(document).on('change', dropdownField, function(){
    // 拿到当前触发事件的下拉框所属的父区块
    var parent = jQuery(this).closest('.frm_repeat_sec');
    // 直接取当前下拉框的选中值,而非全局查找
    var values = jQuery(this).val();
    var projID = values.substring(values.indexOf(" ")).trim();
    // 仅在当前父区块内查找对应的只读输入框赋值
    parent.find(prjIDfield).val(projID);
});
修改说明
  • 把全局下拉框取值改为jQuery(this).val(),this指向当前触发change事件的下拉框元素
  • 输入框查找限定在当前父区块parent范围内,使用find()方法筛选,保证只操作同区块的对应输入框
  • 修正了变量声明的语法错误,避免全局变量污染
  • 把trim操作提前到substring之后,减少重复调用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:45:03