混淆了jQuery UI自动完成功能

时间:2013-02-12 06:52:23

标签: jquery asp.net-mvc-3 jquery-ui jquery-ui-autocomplete

我正在尝试在文本框中实现jQuery UI自动完成行为。我已经按照一个示例,它工作正常。但是一些语法让我感到困惑。以下是代码段:

<div>
    @Html.LabelFor(a => a.name)
    @Html.TextBoxFor(a => a.name, new { data_autocomplete_url = Url.Action("Autocomplete") })
</div>

<script type="text/javascript">

    $(document).ready(function () {
        $('[data-autocomplete-url]')
        .each(function () {
            $(this).autocomplete({
                source: $(this).data("autocomplete-url")
            });
        });
    });


</script>

我声明TextBox有一个属性data-autocomplete-url。但是在jQuery UI自动完成功能中,我只使用autocomplete-url而没有data-前缀。这是如何工作的?

1 个答案:

答案 0 :(得分:2)

.data()方法已知道您正在调用data-*属性的值。 并且在调用属性名称之前不需要在data-之前。