0

JS 对我来说还是有点不自然。我可以阅读它但写它是我很少有机会做的事情。

我有这个表格(简体)

<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输入的名称#co

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

#contact一旦为输入选择了值/建议,如何获取人员/联系人的建议列表以显示#co输入?

4

1 回答 1

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>

效果很好!

于 2012-10-17T20:24:31.603 回答