2012-04-28 65 views
1

我实现jQuery AutoComplete plugin像这样指定的源网址:实现jQuery的自动完成插件与元素标记

HTML:

<input type='text' class='AutoComplete' url='/source/data'> 

的jQuery:

$(".AutoComplete").autocomplete({ 
    source: "/source/data" 
}); 

上面的代码是工作。现在我希望source自动完成选项的一部分应该从输入的url属性(url='/source/data')中获取。

这怎么可能?

感谢

回答

2

你需要调用自动完成()函数(设置源),分别为每个文本框。

function init(){ 
    $(".autocomplete").each(function(ix,item){ 
     var $item = $(item), 
      url = $item.attr('data-ac-url'); 
     $item.autocomplete({ source: url}); 
    }); 
} 

$(document).ready(init); 

这适用于这个HTML:

<input id='box1' 
     class='autocomplete' 
     value='' type='text' 
     data-ac-url='/asp/autocomplete-src1.aspx' /> 
<input id='box2' 
     class='autocomplete' 
     value='' type='text' 
     data-ac-url='/asp/ac-src2.php'/> 

要指定元素标记中的网址,我建议使用属性喜欢data-???which complies with the HTML5 standard

+0

+1谢谢。完美运作。你能解决另一件事吗?如果元素中没有'data-ac-url'属性,那么它将在萤火虫中产生一个错误,例如'this.source不是函数'。如果没有'data-ac-url'属性,我们能不能修复它,因为它没有做任何事情。 – Student 2012-04-28 18:21:01

+1

为什么不呢?你可以在这里插入一个'if'语句来测试它。我想知道你会怎么做? hmmmmm ..... – Cheeso 2012-04-29 05:16:43