2012-10-17 3 views
0

JS는 여전히 나에게 부 자연스러운 일입니다. 나는 그것을 읽을 수있다 괜 찮하지만 그것을 쓰는 것은 드물게 내가 할 기회를 얻는다.
필드 1 선택에 따른 AutoSuggest 필드 2

나는 (간체)이 양식 나는 #co 입력 잘 자동 완성 작업을 얻었다

<form> 
    <div class="form_element"> 
     <label for="co">Cust Company:</label>  
     <input type="text" name="co" value="" id="co" /> 
    </div> 
    <div class="form_element"> 
     <label for="contact">Cust Name:</label> 
     <input type="text" name="contact" value="" id="contact" /> 
    </div> 
</form> 

을 가지고 있지만 나는 작업 다음 단계를 받고 약간의 지침을 사용할 수 있습니다.
#co 항목을 기준으로 #contact 입력의 이름을 자동 제안해야합니다.

내 JS 현재의 I/연락처 값/제안이 #co 입력 선택되면 #contact 입력을 표시하는 사람들의 제안 목록을 얻는 방법이

<script type="text/javascript"> 
    $('input#co').autocomplete({ 
     minLength: 2, 
     source: function(request, response1) { 
      url_1 = 'company/get_names/'+ request.term +'/name/json' 
      $.getJSON(url_1, function(companies) { 
       response1(companies); 
      }); 
     }, 
     select: function(event, company){ 
      $('input#co').val(company.item.value); 

      //alert(company.item.id); // For testing 
      url_2 = 'contact/persons_list/'+ company.item.id +'/json' 

      $('input#contact').autocomplete({ 
       source: function(request, response2) { 
        $.getJSON(url_2, function(people) { 
         response2(people); 
        }); 
       } 
      }) 
     }  
    }); 
</script> 

처럼 보인다?

답변

0

음 ... 나는 완전히 다른 접근 방식을 복용 결국, 나는 그 생각의 첫 라인에 비해 훨씬 더 나은 것 같아요.

<script type="text/javascript">  

    var co_id; 

    $('input#co').autocomplete({ 
     minLength: 2, 
     source: function(request, response) { 
      url = 'company/get_names/'+ request.term +'/name/json', 
      $.getJSON(url, function(companies) { 
       response(companies); 
      }); 
     }, 
     select: function(event, company){ 
      $('input#co').val(company.item.value); 
      co_id = company.item.id; 
     } 
    }); 

    $('input#contact').autocomplete({ 
     //minLength: 2, 
     source: function(request, response) { 
      url = 'contact/persons_list/'+co_id+'/json', 
      $.getJSON(url, function(companies) { 
       response(companies); 
      }); 
     } 
    }); 

</script> 

위대한 작품입니다!

관련 문제