1

我通过一个函数添加一个输入框- 所以当页面渲染和触发onclick时输入框不存在。document.ready()

我想出了一个解决方法,onclick方法是在输入字段中添加一个调用 javascript 函数的函数。

http://goo.gl/id6esq将返回 json:

["1175-1234567890","1175-1234567891","1175-1234567892","1175-1234567893","1175-1234567894","1175-1234567895"]

(我无法让jsfiddle工作 - 不会提前输入)

<a id="clickbtn" class="btn-btn-inverse">Click me</a>

<div id="insert"></div>

<script type="text/javascript">
    $(function() {
        $('#clickbtn').on('click', function() {
            $('#insert').html("<input type='text' onclick='javascript:invoice_no_setup_typeahead($(this))' name='retrun-order-invoice_no' class='return-order-invoice_no' data-provide='typeahead'>");
        });
    });
    function invoice_no_setup_typeahead(self) {
        console.log('focus acheived');
        $(self).typeahead({
            source: function(query, process) {
                console.log(query);
                return $.get(
                        'http://goo.gl/id6esq', {
                    query: query
                },
                function(data) {
                    console.log(data);
                    return process(data);
                }, 'JSON');
            }
        });

    }
</script>
4

1 回答 1

2

尝试

    $('#clickbtn').on('click', function() {
        var el = $("<input type='text' name='retrun-order-invoice_no' class='return-order-invoice_no'>").appendTo($('#insert').empty());
        invoice_no_setup_typeahead(el)
    });
于 2013-08-14T17:51:16.467 回答