Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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
Jquery 基于其他选择框的值从一个选择框中排除值_Jquery_Jquery Selectors - Fatal编程技术网

Jquery 基于其他选择框的值从一个选择框中排除值

Jquery 基于其他选择框的值从一个选择框中排除值,jquery,jquery-selectors,Jquery,Jquery Selectors,我试图从一个选择列表中排除用户在另一个选择列表中选择的内容 这是一个包含2个问题的列表,用户不能在两个选择列表中选择同一个问题 出于某种原因,它适用于前两个选择,但随后它开始将第二个框的值更改为原来的值。它在两个选项上都适用于两个选项,但如果您继续在两个选项之间进行选择,则会返回不正确的结果 下面是jquery代码,但下面是要完成的代码 var q1 = "#q1"; var q2 = "#q2"; var questions = {"1":"Question 1","2":"Question

我试图从一个选择列表中排除用户在另一个选择列表中选择的内容

这是一个包含2个问题的列表,用户不能在两个选择列表中选择同一个问题

出于某种原因,它适用于前两个选择,但随后它开始将第二个框的值更改为原来的值。它在两个选项上都适用于两个选项,但如果您继续在两个选项之间进行选择,则会返回不正确的结果

下面是jquery代码,但下面是要完成的代码

var q1 = "#q1";
var q2 = "#q2";
var questions = {"1":"Question 1","2":"Question 2","3":"Question 3","4":"Question 4"}

function rebuildList(option,id) {
    var currentValue = $(id).val();
    $(id).empty();
    $(id).append($('<option></option>').val(0).html("Select"));

    $.each(questions, function (key, value) {
        if (key != option) {
            $(id).append($('<option></option>').val(key).html(value));
        }
    });

    //set the value back to what it was before emptying the list
    var setter;
    if (currentValue == "") {
        setter = id + " option:eq(0)";
    } else {
        setter = id + " option:eq(" + currentValue + ")";
    }


    $(setter).prop('selected', 'selected');
}



$(document).ready(function () {
    $(q1).change(function () {
        rebuildList($(this).val(), q2);  
        return false;
    });

    $(q2).change(function () {
        rebuildList($(this).val(), q1);  
        return false;
    });
});

当你使用等式时,问题就出现了。我修改了那个部分,代码运行良好

if (currentValue == "") {
    $(id).val(0)
} else {
    $(id).val(currentValue)
}

检查这里,

您能解释一下您面临的确切问题吗。。我检查了fiddle和second下拉列表,除了所选的First下拉列表外,其他都有值。请清楚地解释您的问题。我没有看到任何问题。请参阅OPI中粗体显示的确切问题立即查看问题。看起来问题发生在setter=id+option:eq+currentValue+;