2012-02-22 39 views
0

我有一個包含多行的表格。每一行都有一個下拉列表。用戶不能從每行的下拉列表中選擇兩個相同的選項。如果用戶從第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

你想刪除該選項?你將如何阻止用戶選擇該選項? – ManseUK 2012-02-22 15:57:57

+1

每當用戶選擇一個項目時,將其推入數組中,當用戶選擇另一個項目時,檢查它是否存在於數組中。如果存在,則意味着該項目已在其他列表中被選中。 您可以根據您的下拉列表編號設置索引。從每個列表中只能將一個元素推入數組中。 – SachinGutte 2012-02-22 15:58:30

+0

我只想選擇用戶沒有選擇的選項。 – azamsharp 2012-02-22 16:01:16

回答

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

相關問題