2012-10-17 35 views
0

JS对我来说还是有点不自然。我可以读它好吧,但写它是我很少有机会做的事情。
基于field1选择的AutoSuggest field2

我有这种形式(简体)

<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输入,但我可以用一些指导得到下一步的工作。
我需要根据#co选择自动建议#contact输入的名称。

我的JS目前看起来像这样

<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> 

我如何获得的人/联系人一次值/建议是选择了#co输入的输入#contact显示建议名单?

回答

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> 

它很好用!

相关问题