更改一个选择框上的其他选择框选项更改-jQuery

时间:2016-05-26 09:50:09

标签: javascript jquery html

我在登录期间为我的项目实施安全问题。

例如,我有4个问题和4个<select>框来选择每个问题

  1. 你父亲的中间名是什么?
  2. 您的第一位经理的名字是什么?
  3. 你父亲在哪个城市出生?
  4. 您的宠物的名字是什么?
  5. 最初所有<select>框都填充了所有4个问题

    现在,如果用户从第一个<select>框中选择第一个问题,则应该从其他<select>框中省略/隐藏此问题,即其余问题(第1个除外)应该可用于第二个{{ 1}}框

    此外,如果我返回第一个选择框并更改问题,则<select>更改应反映在其他文字<option>框中

    现在我的项目中显然有4个以上的问题,以确保用户不会留下上一个<select>的任何选项。

    This is what I have tried so far 即可。但它会产生不良后果

3 个答案:

答案 0 :(得分:0)

在检查所选值时,您必须考虑所有选择框,我已使用.each添加了一个循环,如下所示:

var questions = 
[
    {
        "text" : "What is your father's middle name?",
        "value" : "1"
    },
    {
        "text" : "What is the first name of your first manager?",
        "value" : "2"
    },
    {
        "text" : "In what city was your father born?",
        "value" : "3"
    },
    {
        "text" : "What is the name of your pet?",
        "value" : "4"
    }

];
    $(document).ready(function(){

        $('select').each(function(){
        var selectbox = $(this).empty();
            for(var i = 0, l = questions.length; i < l; i++){
            var question = questions[i];
                selectbox.append($('<option>', { 
                    value: question.value,
                    text : question.text 
                }));
            }
        });

        $('select').change(function(){
        var selectid = this.id;
        var value = $(this).val();
        $('select').each(function(){
            var seleid = $(this).attr('id');
            $("#"+seleid+" > option").each(function(){
                if(seleid !== selectid)
                {
        sel = $(this);
        $("#"+seleid+" option[value="+this.value+"]").show();
        $('select').each(function(){
           sel.value === value
           $("#"+seleid+" option[value="+this.value+"]").hide();    
        });                                         
                }
            });
        });


    })

    });

在此处查看演示: http://jsfiddle.net/0vu7snhx/

答案 1 :(得分:0)

尝试这个希望它会起作用。

table.c

答案 2 :(得分:-2)

<select id='one'>
  <option value='1'>1</option>
  <option value='2'>2</option>
</select>

<select id='two'>
</select>

jQuery的:

$(document).ready(function(){
  $('#one').change(function(){
    var op= "<option value='1'>1</option><option value='2'>2</option>";
    $('#two').html(op);
  });
});