2010-08-02 5 views
0

내 페이지에 텍스트 상자 컨트롤과 체크 박스 목록 컨트롤이 있습니다.ASP.NET 및 AJAX를 사용하여 체크 박스 목록에서 텍스트 상자 채우기

코드 숨김에있는 직원 개체 목록으로 내 체크 박스 목록을 채우고 있습니다. 직원은 ID와 이름을가집니다. 둘과 같이 체크 박스 목록에 표시됩니다 :

  • 짐 (1)
  • 알렉스 (2)
  • 게리 (3)

때 사용자 확인 상자 중 하나 인 직원의 이름을 입력란에 채워야합니다. 따라서 Jim이 선택되면 텍스트 상자 값은 "Jim"입니다. 또한 여러 값을 지원해야하므로 Jim과 Gary를 선택한 경우 텍스트 상자 값은 "Jim, Gary"입니다.

또한 사용자가 텍스트 상자에 유효한 값을 입력하면 올바른 직원을 확인해야합니다. 이것은 이름과 ID를 지원해야합니다. 따라서 "1, Alex"를 입력 한 다음 텍스트 상자 외부를 클릭하면 Jim과 Alex가 선택되어야합니다.

ASP.NET을 사용하고 있는데 AJAX를 사용하여이 작업을 수행해야하지만 jQuery 및 AJAX 사용에 대한 경험이 없습니다. 누군가 나에게이 작업을 수행하는 방법에 대한 간단한 예를 보여줄 수 있습니까?

답변

2

여기 나와 함께 시작하면 도움이 될만한 것이 있습니다. 그것은 테스트되지 않았고 완전하지는 않지만 지금 당장 할 시간이 없기 때문에 이것이 도움이 될 것이라고 생각합니다. 확실히 더 많은 수표와 패닝을해야합니다.

$(function() { 
    // gets all checkbox items by a common class you will put on all of them 
    $('.checkboxlistclass').click(function(e) { 
     var txt = $(this).text(); 
     var employeeName = txt; // change this to parse out the name part and remove the id 

     var currentTxtVal = $('#textboxid').val(); 
     var newVal = currentTxtVal + ',' + employeeName; // check if you need the comma or not 

     $('#textboxid').val(newVal); 
    }); 

    // textboxid is the id of the textbox 
    $('#textboxid').change(function(e) { 
     var textboxVal = $(this).val(); 

     // split on the comma and get an array of items 
     // this is dummy data 
     var items = []; 
     items.push('Jim'); 
     items.push(2); 

     // go through all the items and check if it's a number or not 
     // if it's a number do a selection based on the id in parenthesis 
     // if not then check first part for name match 
     for (var i=0; i < items.length; i++) { 
      if (isNaN(parseInt(items[i])) { 
       $(".checkboxlistclass:contains('" + items[i] + " ('").attr('checked', true); 
      } 
      else { 
       $(".checkboxlistclass:contains(' (" + items[i] + ")'").attr('checked', true); 
      } 
     } 
    }); 
}); 
관련 문제