0

下面是html输入

<input type="text" class="autocomplete" id="search_data" name="search_data" value=""  data-link="currency_autocomplete.php" >

这是我用于自动完成的 jquery

$(function() { 
        $(".autocomplete").autocomplete({
            source: 'currency_autocomplete.php',
            minLength: 2,
            select: function( event, ui ) {
                $(this).val(ui.item.value);
                return false;}
        })
});

上面的代码工作正常

但我需要更新 jquery source:,如下所示

$(function() { 
        $(".autocomplete").autocomplete({
            source: $(this).attr('data-link'),  *** here i need update
            minLength: 2,
            select: function( event, ui ) {
                $(this).val(ui.item.value);
                return false;}
        })
});
4

1 回答 1

1

this不在.autocomplete该上下文中,这就是您无法获得data-link属性值的原因。如果只有一个带有.autocomplete类的元素,您可以使用它

source: $(".autocomplete").data('link')

将此用于您有更多带有类的元素的情况.autocomplete

$(".autocomplete").each(function() {
    var $this = $(this);
    $this.autocomplete({
        source: $this.data('link'),
        minLength: 2,
        select: function( event, ui ) {
            $(this).val(ui.item.value);
            return false;
        }
    });
});
于 2013-06-19T14:56:33.943 回答