2015-09-13 151 views
1

我試圖避免人員重複選擇爲同一房間號碼,並填充標籤與選定的person.PLease看到的jsfiddle的問題驗證在GridView中選擇下拉值和選擇價值

http://jsfiddle.net/bharatgillala/9o1gxa1h/4/

填充標籤

HTML

<table id="gridviewInfo" runatr="server"> 


<TBODY><TR> 
<TH scope=col>Available Person</TH> 
<TH scope=col>RooNumber</TH> 
<TH scope=col>SelectedPerson</TH> 

</TR> 

<TR> 
<TD style="WHITE-SPACE: nowrap" align=left><SELECT onchange=checkforvalue(this) id=ddlAvailableJudges name=ctl00$contentBody$gvwRoomInformation$ctl02$ddlAvailableJudges> 

<OPTION selected value=> 
</OPTION> 
<OPTION value=maxico>maxico 
    </OPTION> <OPTION value=chennai>chennai</OPTION> <OPTION value=newdelhi>newdelhi</OPTION> <OPTION value=hongkong>hongkong</OPTION> </SELECT> </TD> 
<TD style="WIDTH: 100px">1</TD> 
<td> 
<label > populate </label> 
</td>  
</TR> 

<TR> 
    <TD style="WHITE-SPACE: nowrap" align=left> 

    <SELECT onchange=checkforvalue(this) id=ddlAvailableJudges name=ctl00$contentBody$gvwRoomInformation$ctl03$ddlAvailableJudges> 

    <OPTION selected value=> 
    </OPTION> 
    <OPTION value=maxico>maxico</OPTION> <OPTION value=chennai>chennai</OPTION> <OPTION value=newdelhi>newdelhi</OPTION> <OPTION value=hongkong>hongkong</OPTION></SELECT> </TD> 
<TD style="WIDTH: 100px">2</TD> 

    <td> 
    <label > populate </label> 
    </td> 
    </tr> 

回答

1

你不能在下拉列表中選擇相同的標識(ID應該是獨一無二的)。這是代碼。我已將類名添加到下拉列表中,併爲每個下拉列表提供了唯一的ID。

這裏是一個link to the updated fiddle

$('.judges').change(function(){ 
    //on change get selected dropdown's value 
    var curVal = $('option:selected',this).val(); 
    //get the id of the dropdown changed 
    var curId = this.id; 
    //set the label with selected value 
    $(this).parents().eq(1).find('td:nth-child(3) > label').html(this.value); 
    //loop through all the dropdowns 
    $('.judges').each(function() { 
     //for each dropdown get the selected value 
     var innerVal = $('option:selected',this).val(); 
     if(innerVal !== ''){ 
      //if id of the dropdown is different to that of the original dropdown selected & the selected values are the same clear the selection of the old dropdown 
      if(innerVal === curVal && curId != this.id){ 
       $(this).val(" "); 
       $(this).parents().eq(1).find('td:nth-child(3) > label').html('populate from selected'); 
      } 
     } 
     else { 
      $(this).parents().eq(1).find('td:nth-child(3) > label').html('populate from selected'); 
     } 
    }); 
}); 
+0

感謝普拉香特 – user2465036