使用jquery将参数传递给自动完成

时间:2013-01-21 07:55:33

标签: jquery autocomplete

我已阅读此帖:Passing extra parameters to source using Jquery UI autocomplete
我正在开发Asp.net C#中的Web页面。

我的HTML代码:

 <input class="tags" to_search="Birds" />
 <input class="tags" to_search="Animals" />

使用Javascript:

$(document).ready(function() {
     $(".tags").autocomplete({
          source: "GenericHandler.ashx?name="+$(this).attr("to_search")
    });
});

我想将to_search标记的<input>属性传递给通用处理程序 上面的代码调用了GenericHandler.ashx但是给出了name的空值 如何将name值等于to_search标记的<input>属性?
请帮忙。

2 个答案:

答案 0 :(得分:2)

假设您在运行时没有添加任何.tags,您可以这样做。

$('.tags').each(function(i, tag) {
    $(tag).autocomplete({
        source: 'GenericHandler.ashx?name='+ $(tag).attr('to_search')
    });
});

我还建议您在输入标签中使用数据属性,如下所示。

<input class="tags" data-search="Birds" />

产生最终解决方案,

$('.tags').each(function(i, tag) {
    $(tag).autocomplete({
        source: 'GenericHandler.ashx?name='+ $(tag).data('search')
    });
});

如果您确实动态地向文档添加元素,则可以执行此操作。

// jquery object of the new element created
var element;

element.autocomplete({
    source: 'GenericHandler.ashx?name='+ element.data('search')
});

答案 1 :(得分:-1)

像这样通过

$('#txtCropname').autocomplete('Handler/CropSearch.ashx', { extraParams: {ids:'new'} });