如何在下拉列表中设置非重复的选定值

时间:2012-02-22 15:54:59

标签: jquery

我有一个包含多行的表格。每行都有一个下拉列表。用户无法从每行的下拉列表中选择两个相同的选项。意味着如果用户从第1行的下拉列表中选择选项A,则他/她无法从第2行或第3行的下拉列表或任何其他行中选择选项A.

我只是选择列表中的第一项,但当然这不起作用:

function isSelectedOptionValid(selectedOption) {

    var isValid = true; 
    var rows = $(selectedOption).parent().parent().siblings(".TBLCONTENTS");
    var tds = rows.find("td");

    for(i=0;i<rows.length;i++) {

        var option = $($($(rows[i]).find("td")[1]).find("select")[0]).val();

        if (option == $(selectedOption).val()) {

            // find the option that is not selected 
            $(selectedOption).children(":first").attr("selected", "selected");

            isValid = false;
            break;
        }
    }

    return isValid;

}

1 个答案:

答案 0 :(得分:0)

试试这个 -

 $(function() { 
    var a=new Array();
    $(".list").each(function(){
    $(this).change(function(){
        if(a[$(this).index]!=$(this).val()){
            a[$(this).index]=$(this).val();
        }else{
            alert('Already There');             
        }
    });
 });
});

和HTML -

 <select class="list">
 <option>1</option>
 <option>2</option>
 <option>3</option>
 </select>
 <select class="list">
 <option>1</option>
 <option>2</option>
 <option>3</option>
 </select>

Demo