Javascript 如何将下拉选择值分配给下一个td中存在的输入字段?
在一个表中,我有两列和许多行。一列具有下拉列表,另一列具有类型编号的输入字段。当我更改下拉列表的值时,我想将所选值分配给输入字段,该字段出现在nextJavascript 如何将下拉选择值分配给下一个td中存在的输入字段?,javascript,jquery,Javascript,Jquery,在一个表中,我有两列和许多行。一列具有下拉列表,另一列具有类型编号的输入字段。当我更改下拉列表的值时,我想将所选值分配给输入字段,该字段出现在nexttd中。我希望我能很好地解释我的问题 这是我尝试过的 $(文档).ready(函数(){ $('select.nameSelect').change(函数(){ var id=$(this).children(“选项:已选定”).val(); $(this).closest('.tr').find('.StudentId').val(id); }
td
中。我希望我能很好地解释我的问题
这是我尝试过的
$(文档).ready(函数(){
$('select.nameSelect').change(函数(){
var id=$(this).children(“选项:已选定”).val();
$(this).closest('.tr').find('.StudentId').val(id);
});
});代码>
学生1
学生2
学生3
学生4
学生1
学生2
学生3
学生4
学生1
学生2
学生3
学生4
首先,您的HTML无效,因为有多个元素具有相同的id
(id=“StudentName”
)
但是代码不起作用的原因是,当它应该是最近('.tr')
时,您正在执行最近('.tr')
,因为它是一个元素,而不是一个类
此外,不需要找到选定的值。。。只需使用this.value
$(文档).ready(函数(){
$('select.nameSelect').change(函数(){
$(this.closest('tr').find('.StudentId').val(this.value);
});
});代码>
学生1
学生2
学生3
学生4
学生1
学生2
学生3
学生4
学生1
学生2
学生3
学生4
请注意,ID对于文档必须是唯一的。看起来您的代码应该可以工作(假设控制台中没有语法错误),这只是一个输入错误;将.closest('.tr')
更改为.closest('tr')
小点:$(此)。子项(“选项:已选”).val()
可以替换为$(此)。val()
-a选择
自动接受当前所选选项的值。您不应该在多个下拉列表中重复id=“StudentName”
。ID应该是唯一的……否则它们有什么意义呢?@ADyson-即使出现这种情况,当这个.value
会起作用时same@freefaller是的,我只是坚持jQuery语法以保持一致性,但我同意,谢谢@freefiller。这对我有用。同一个id是复制粘贴错误。