Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery,如何为使用同一类的多个下拉列表获取以前选择的下拉列表值?_Javascript_Jquery - Fatal编程技术网

Javascript Jquery,如何为使用同一类的多个下拉列表获取以前选择的下拉列表值?

Javascript Jquery,如何为使用同一类的多个下拉列表获取以前选择的下拉列表值?,javascript,jquery,Javascript,Jquery,目前正在使用Jquery Repeater,因此根据用户添加下拉列表的数量,我可能会有多个下拉列表 我的目标是在更改每个下拉列表后,为每个下拉列表获取以前选择的下拉列表值 但问题是,我使用的是同一个类,所以它读取我更改的值 $(文档).ready(函数(){ var显示以前的1; $('.rank')。在('focus',函数(){ show_previous_1=this.value; }) $(document).on('change keyup','.rank',function(){

目前正在使用
Jquery Repeater
,因此根据用户添加下拉列表的数量,我可能会有多个下拉列表

我的目标是在更改每个下拉列表后,为每个下拉列表获取以前选择的下拉列表值

但问题是,我使用的是同一个类,所以它读取我更改的值

$(文档).ready(函数(){
var显示以前的1;
$('.rank')。在('focus',函数(){
show_previous_1=this.value;
})
$(document).on('change keyup','.rank',function(){
$('show#u previous_1')。文本(show_previous_1);
show_previous_1=this.value;
})
});

-选择你的等级-
飞行员
下士




-选择你的等级- 飞行员 下士
首先获取所有
选择
下拉列表的数组。将
change
侦听器附加到下拉列表中,并在更改时附加 找到已更改的索引
选择
,然后可以使用
索引-1

constselects=$('select');
$('select')。在('change',function()上{
const index=selects.index($(this));
如果(索引!==0){
console.log(“上一个下拉值”,选择[index-1].value);
}
});

-选择你的等级-
飞行员
下士




-选择你的等级- 飞行员 下士
现在,您可以使用span id获取任何选定项的值

$('.rank')。在('focus',function()上{
$(this.next().text($(this.val())
})
$(document).on('change keyup','.rank',function(){
$(this).next().next().text($(this).val())
})

-选择你的等级-
飞行员
下士
最后:现在:


-选择你的等级- 飞行员 下士
最后:现在:
基于两个元素的无Id解决方案:
.rank
-用于我们的下拉列表,而
显示rank
用于输出以前的值。您可以有任意多个带有输出的下拉列表

$(文档).ready(函数(){
//类为“rank”的所有项目的先前选定项目数组
以前选择的var_=[];
$(文档).on('change','.rank',function(){
//为当前下拉列表查找“rank show”类下一个最近的输出
var输出=$(this.nextAll('.rank show')[0];
//按类别“等级”列出的当前doprdown索引
var dropdownIndex=$(this.parent().children('.rank').index(this);
如果(以前选择的类型[dropdownIndex]!==“未定义”){
//输出先前值
$(输出).text(以前选择[dropdownIndex]);
}否则{
//输出0作为默认的上一个值
$(输出).text(0);
}
//将当前值设置为下一个下拉更改的上一个值
以前选择的[dropdownIndex]=$(this.val();
})
});

-选择你的等级-
飞行员
下士




-选择你的等级- 飞行员 下士

-选择你的等级- 飞行员 下士

-选择你的等级- 飞行员 下士 高级鸟人
请在您的帖子中加入一个演示您的问题的链接,而不仅仅是一个指向Fiddle的链接。链接腐烂,你的文章应该独立于任何其他资源;如果将来JSFIDLE被阻止或消失,这个问题将对未来的访问者失去任何价值!已编辑…抱歉,我不知道它有规则代码仅显示当前选定的下拉列表值…我的目标是获取上一个选定的下拉列表值请试用此下拉列表不应相互连接…我的目标是获取每个人的上一个下拉列表值dropdown@LearnProgramming-下拉列表未连接。这就是解决方案所做的,它为单个下拉列表获取以前的选择值。这就是我要寻找的…但问题是,我不知道如何为
jquery repeater
…创建增量id,但是
jquery repeater
每次用户添加下拉列表时,它都会增加名称…
例如:name=“rank\u items[0][rank]”,name=“rank\u items[1][rank]”,name=“rank\u items[2][rank]”
@LearnProgramming我想应该在你的新问题中,提供更多关于你问题的信息。如果我的答案是对的,请注明。