首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在jQuery选项参数中将字符串添加到一起

在jQuery选项参数中将字符串添加到一起
EN

Stack Overflow用户
提问于 2011-02-17 13:17:08
回答 1查看 250关注 0票数 0

我正在写一个具有多种数据类型的自动完成表单。

在HTML中,使用key属性来分隔数据类型:

代码语言:javascript
代码运行次数:0
运行
复制
<input type="text" name="data0" value="" size="20" id="data0" key="country"/>
<input type="text" name="data1" value="" size="20" id="data1" key="state"/>

在js文件中,我在输入上运行一个通配符选择器,并以这种方式使用自动补全:

代码语言:javascript
代码运行次数:0
运行
复制
$(function() {
$(":input").autocomplete({
    source: "query.php?type="+$(this).attr("key")+"&mode=1",
    minLength: 2
});
});

但它不起作用。

我想知道是不是因为.attr()选择器,所以我写了另一个代码来测试它:

代码语言:javascript
代码运行次数:0
运行
复制
var test="state";
$(function() {
$(":input").autocomplete({
    source: "query.php?type="+test+"&mode=1",
    minLength: 2
});
});

也不起作用。

提前感谢您的帮助!

编辑:

代码语言:javascript
代码运行次数:0
运行
复制
$(function() {
$(":input").autocomplete({
    source: "query.php?type=state&mode=1",
    minLength: 2
});
});

这将会起作用。所以我确信这不是选择器的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-17 13:26:26

代码语言:javascript
代码运行次数:0
运行
复制
$(function() {
$(":input").autocomplete({
    source: "query.php?type="+$(this).attr("key")+"&mode=1",
    minLength: 2
});
});

将不会工作,因为this没有指向您认为它做的事情。你可以这样做..。

代码语言:javascript
代码运行次数:0
运行
复制
$(":input").each(function() {
   $(this).autocomplete({
    source: "query.php?type="+encodeURIComponent($(this).attr("key"))+"&mode=1",
    minLength: 2
   });
});

您还应该对上面的参数进行编码,就像我为您所做的那样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5025333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档