2012-12-13 2 views
1
을 얻을 수

난과 같은 테이블이 : 그것은 (모두 같은 방식으로 이름)는 드롭 다운 값

내가해야 다른 몇 행에 대해하고 무슨 계속

<table id="tblFileUpload" cellpadding="2" cellspacing="2" class="styled"> 
    <tr> 
     <td align="left"> 
      <asp:FileUpload ID="fileUpload1" runat="server" size="50" /> 
     </td> 
     <td align="left"> 
      <asp:DropDownList ID="ddlRequestType1" runat="server" DataTextField="Value" DataValueField="Key" CssClass="ddl"></asp:DropDownList> 
     </td> 
     <td align="left"> 
      <asp:DropDownList ID="ddlStatusType1" runat="server" DataTextField="Value" DataValueField="Key" CssClass ="ddl2"> 
      </asp:DropDownList> 
      <label class="badFileUploadRow">*</label> 
     </td> 
    </tr> 
    <tr> 
     <td align="left"> 
      <asp:FileUpload ID="fileUpload2" runat="server" size="50" /> 
     </td> 
     <td align="left"> 
      <asp:DropDownList ID="ddlRequestType2" runat="server" DataTextField="Value" DataValueField="Key" CssClass="ddl"></asp:DropDownList> 
     </td> 
     <td align="left"> 
      <asp:DropDownList ID="ddlStatusType2" runat="server" DataTextField="Value" DataValueField="Key"></asp:DropDownList> 
      <label class="badFileUploadRow">*</label> 
     </td> 
    </tr> 

을 각 요청마다 1 개의 상태 만 선택할 수 있어야합니다. 주어진 상태 유형이 변경되면 중복 요청 유형이 선택되었는지 확인하고 해당 행의 선택된 statustype을 비활성화해야합니다.

예를 들면. requesttype1과 requestype3 모두에 대해 "save"를 선택한 다음 statustype3에서 "some status"를 선택한 경우 requesttype1과 같은 행에서 "some status"를 비활성화해야합니다.

내가 지금 다음과 같습니다 요청 유형의 선택된 모든 값의

$(".ddl2").change(function() { 
    var id = $(this).attr('id'); 
    var cssType = $(this).attr('class'); 
    var pos0 = id.indexOf('ddlStatusType'); // +14; 
    var itemNo = id.substr(pos0); 
    var seen = {}; 
    $('#tblFileUpload td') 
     .each(function() { 
     //find if multiple request types already exist. 
     // if (cssType == "ddl") { 
      var txt = $('.ddl :selected').text(); 
      if (seen[txt]) {//there is a duplicate 
       // $(this).remove(); 
      } 
      else 
       seen[txt] = true; 
      // } 
    }); 
}); 

TXT 변수 반환 값, 같은 행에뿐만 아니라 하나 ... 난 갇혔어요. 도와주세요. 요청 유형의 모든 선택된 값의 변수 값을 반환 TXT

+0

시도해 봤어 var txt = $ ('.ddl : selected', this) .text(); 루핑하는 실제 td의 드롭 다운 만 선택 하시겠습니까? –

+0

을 변경 한 후, 필자에게 필자에게 필요한 실제 값을 더한 빈 칸을 더한 것처럼 보입니다. 그래서 "" ""올바른 값 "" "" "올바른 valye" –

답변

2

같은 행 물론

음에뿐만 아니라 하나. 그게 $('.ddl :selected')이 일치합니다 : pseudo-class 인 모든 요소는 ddl 클래스의 하위 요소입니다. 더 구체적인 선택기를 사용하십시오. 이것에 내부 .each()을 변경

시도 :

$('#tblFileUpload tr').each(function() { 
    var txt = $(this).find('.ddl').val(); 
    if (seen[txt]) {//there is a duplicate 
     // $(this).remove(); 
    } 
    else seen[txt] = true; 
}); 

주, 그것은 <option selected> 자신을 보는 것보다 <select>.val()를 사용하는 것이 좋습니다.

관련 문제