Javascript 如果两个选项相同,请转到第二个选择中的下一个选项

Javascript 如果两个选项相同,请转到第二个选择中的下一个选项,javascript,jquery,html,Javascript,Jquery,Html,这件事把我难住了。如果您有两个选择标记(请参见此),两个标记都具有相同的选项,那么如果用户在两个选择中选择相同的选项,您将如何编写脚本以转到第二个选择标记中的下一个选项。类似的操作应该会起作用 如果两个条目都是最后一个条目,则这将是错误的 if($("#salary1")[0].selectdIndex === $("#salary2")[0].selectdIndex){ $("#salary2")[0].selectedIndex+=1; } 这样的办法应该行得通 如果两个条目都是

这件事把我难住了。如果您有两个选择标记(请参见此),两个标记都具有相同的选项,那么如果用户在两个选择中选择相同的选项,您将如何编写脚本以转到第二个选择标记中的下一个选项。

类似的操作应该会起作用

如果两个条目都是最后一个条目,则这将是错误的

if($("#salary1")[0].selectdIndex === $("#salary2")[0].selectdIndex){
    $("#salary2")[0].selectedIndex+=1;
}

这样的办法应该行得通

如果两个条目都是最后一个条目,则这将是错误的

if($("#salary1")[0].selectdIndex === $("#salary2")[0].selectdIndex){
    $("#salary2")[0].selectedIndex+=1;
}

汤姆·哈伯德(Tom Hubbard)的解决方案对我不起作用,价值观有时会发生奇怪的变化。对我来说,这很有效:

$(function() {
    $('.salary-select').change(function() {
        if($('#salary1').val() == $('#salary2').val() ) {
            $("#salary2")[0].selectedIndex+=1;
        }
    });
});
但是,如果您没有在两个列表中选择最后一个值,则需要添加您检查过的内容


Fiddle:

汤姆·哈伯德(Tom Hubbard)的解决方案对我不起作用,这些值有时会发生奇怪的变化。对我来说,这很有效:

$(function() {
    $('.salary-select').change(function() {
        if($('#salary1').val() == $('#salary2').val() ) {
            $("#salary2")[0].selectedIndex+=1;
        }
    });
});
但是,如果您没有在两个列表中选择最后一个值,则需要添加您检查过的内容


Fiddle:

我认为与其改变用户的工资(这不是最好的用户体验),不如提醒用户需要改变。转到列表上的下一项可能不是用户想要的。我建议这样做

$('#salary2').change(function(){
    var a = $('#salary1').val();
    var b = $('#salary2').val();
    if(a==b){
    alert('Your salaries match. Please change the range.')
    }
});
例如:

编辑

此外,如果您想让用户在匹配时收到警报,无论他们选择什么顺序,请将选择器切换到
$('#salary1,#salary2')


示例:

我认为与其更改用户的工资(这不是最好的用户体验),不如提醒用户需要更改。转到列表上的下一项可能不是用户想要的。我建议这样做

$('#salary2').change(function(){
    var a = $('#salary1').val();
    var b = $('#salary2').val();
    if(a==b){
    alert('Your salaries match. Please change the range.')
    }
});
例如:

编辑

此外,如果您想让用户在匹配时收到警报,无论他们选择什么顺序,请将选择器切换到
$('#salary1,#salary2')


示例:

我尝试通过id识别这两个,然后使用if语句读取在这两个选项中选择的选项,如果它们相同…那么,这就是我遇到的问题。我尝试通过id识别这两个选项,然后使用if语句读取在这两个选项中选择的选项,如果它们相同…那么,这就是我被卡住的地方。你能发布一个JSFIDLE吗?你能发布一个JSFIDLE吗?同意,我的更“精神”。这是一个更好的解决方案。我同意,我的解决方案更“符合精神”。这是一个更好的解决方案。我同意打开用户会给人一种“whu——刚才发生了什么?”的感觉+1.诚然,当你改变第一个,然后再改变第二个来匹配它时,这个代码是错误的。我同意打开用户会有一点“whu——刚才发生了什么?”的感觉+1.确实,当您更改第一个代码,然后更改第二个代码以匹配它时,该代码是错误的。