2013-08-23 4 views
-3

그래서 ASP.NET 페이지에 아래에 적은 숫자가 있습니다.jQuery 코드가 단순하여 ASP.NET에서 jQuery를 처음 사용하십니까?

페이지는 제가 만족스러워하는 gridview로 구성되어 있습니다. 각 행에 체크 박스가 있고 한 번 검사 된 행의 다른 컨트롤이 활성화되면 저장 버튼이 행과 동작을 통해 데이터베이스로 반복됩니다.

내 질문은 아래 코드가 내가 원하는 방식대로 작동하지만 더 단순화하는 깔끔한 트릭이 있습니까? 내 지식을 확장하는 질문이 많습니까? :)

`<script type="text/javascript"> 
    $(document).ready(function() { 

     //If checkbox in row is checked then 
     $('[id^="MainContent_TCProcurement_TABPurchasing_GVQuotes_CBPurchased1_"]').click(function() { 
      //Checkbox row id 
      var idstr = this.id.replace('MainContent_TCProcurement_TABPurchasing_GVQuotes_CBPurchased1_', ''); 
      //Controls to alter 
      var suppDDL = $("#MainContent_TCProcurement_TABPurchasing_GVQuotes_DDLSuppliers_" + idstr); 
      var qtyPurchased = $("#MainContent_TCProcurement_TABPurchasing_GVQuotes_TBQuantity1_" + idstr); 
      var ratePaid = $("#MainContent_TCProcurement_TABPurchasing_GVQuotes_TBRatePaid1_" + idstr); 
      var buyer = $("#MainContent_TCProcurement_TABPurchasing_GVQuotes_TBBuyer1_" + idstr); 
      var purchasedDate = $("#MainContent_TCProcurement_TABPurchasing_GVQuotes_TBDatePurch1_" + idstr); 
      //If checked then remove disabled and enter some details 
      if (this.checked) { 
       suppDDL.removeAttr('disabled').removeClass('aspNetDisabled').removeAttr("style"); 
       qtyPurchased.removeAttr('disabled').removeClass('aspNetDisabled').removeAttr("style"); 
       ratePaid.removeAttr('disabled').removeClass('aspNetDisabled').removeAttr("style"); 
       buyer.removeAttr('disabled').removeClass('aspNetDisabled').removeAttr("style").val("<%= Session("loggedInUserName")%>"); 
       purchasedDate.removeAttr('disabled').removeClass('aspNetDisabled').removeAttr("style").val("<%= Date.Now()%>"); 
      } else { 
       var newTBStyle = "font-family: Arial; font-size: 1em; background-color: rgb(235, 235, 228);"; 
       suppDDL.attr('disabled', 'disabled').addClass('aspNetDisabled').attr('style', newTBStyle); 
       qtyPurchased.attr('disabled', 'disabled').addClass('aspNetDisabled').attr('style', newTBStyle); 
       ratePaid.attr('disabled', 'disabled').addClass('aspNetDisabled').attr('style', newTBStyle); 
       buyer.attr('disabled', 'disabled').addClass('aspNetDisabled').attr('style', newTBStyle).val(""); 
       purchasedDate.attr('disabled', 'disabled').addClass('aspNetDisabled').attr('style', newTBStyle).val(""); 
      } 
     }); 

    }); 
</script> 

많은 감사, 올리

+1

그런 asp.net ID 이름이 내 눈을 아프게합니다. 이전 스타일의 자동 생성 된 ID 대신 간단한 ID를 사용할 수 있습니까? 어쩌면 할 수 없지만 이것을 확인하십시오. http://weblogs.asp.net/scottgu/archive/2010/03/30/cleaner-html-markup-with-asp-net-4-web-forms-client -ids-vs-2010-and-net-4-0-series.aspx 눈이 쉬울뿐만 아니라 오류 발생 가능성도 적습니다. – Robert

+0

반드시 간단하지는 않지만,'