jQuery Ui自动完成过滤器本地JSON数组

DW

我拉下一个本地json数组并在页面加载时将其存储,但是我的结果似乎没有过滤?有任何想法吗?

var invoiceList= @Html.Raw(
        Json.Encode(
            ((IEnumerable<Invoice>)Model.InvoiceList)
            .Select(inv=> new
            {
                Id = inv.Id,
                Amount= inv.Amount
            })
        )
    );

HTML结果:

  var invoiceList= [{"Id":"8da2786f-8f3d-496e-81eb-12be330cb67a","Amount":"100.00"},{"Id":"2D5A84EB-B146-43EE-8D28-8801F9F02027","Amount":"150.00"}];

HTML:

<input id="project" onkeydown="InvoiceSearch(this);">
<script>
 function InvoiceSearch(elemt) {
        var id = $(elemt).attr('id');
        var searchTerm = $(elemt).val();
        $("#project").autocomplete({
            minLength: 1,
            focus: function( event, ui ) {
                $( "#project" ).val( ui.item.Amount);
                return false;
            },
            source: invoiceList,

                select: function(event, ui)
                {
                    $("#project").val(ui.item.Amount);
                    return false; 
                }
        }).autocomplete( "instance" )
            ._renderItem = function( ul, item ) {
                console.log(item);
                return $( "<li>" )
                  .append( "<div>" + item.Amount+ "<br></div>" )
                  .appendTo( ul );
            };
    };
</script>
DW

问题是由于名称映射,它需要标签和值,我使用Id和Amount进行命名,因此将json结果重命名为标签和值。

var invoiceList= [{"value":"8da2786f-8f3d-496e-81eb-12be330cb67a","label":"100.00"},{"value":"2D5A84EB-B146-43EE-8D28-8801F9F02027","label":"150.00"}];

希望这对其他人有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章