1

我正在尝试在文本框中实现 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-前缀的功能。这是如何工作的?

4

1 回答 1

2

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

于 2013-02-12T06:55:11.653 回答