在jQuery选项参数中添加字符串
我正在写一个包含多种数据类型的自动完成表单 在HTML中,数据类型通过使用键属性进行分隔:在jQuery选项参数中添加字符串,jquery,jquery-ui,autocomplete,Jquery,Jquery Ui,Autocomplete,我正在写一个包含多种数据类型的自动完成表单 在HTML中,数据类型通过使用键属性进行分隔: <input type="text" name="data0" value="" size="20" id="data0" key="country"/> <input type="text" name="data1" value="" size="20" id="data1" key="state"/> 但它不起作用 我想知道这是否是由于.attr()选择器造成的,因此我编写了
<input type="text" name="data0" value="" size="20" id="data0" key="country"/>
<input type="text" name="data1" value="" size="20" id="data1" key="state"/>
但它不起作用
我想知道这是否是由于.attr()选择器造成的,因此我编写了另一段代码来测试它:
var test="state";
$(function() {
$(":input").autocomplete({
source: "query.php?type="+test+"&mode=1",
minLength: 2
});
});
也不行
提前感谢您的帮助
编辑:
这会奏效的。所以我相信这不是选择器的问题
$(function() {
$(":input").autocomplete({
source: "query.php?type="+$(this).attr("key")+"&mode=1",
minLength: 2
});
});
将不起作用,因为此没有指向您认为它的作用。你可以这样做
$(":input").each(function() {
$(this).autocomplete({
source: "query.php?type="+encodeURIComponent($(this).attr("key"))+"&mode=1",
minLength: 2
});
});
您还应该像我为您所做的那样对上述参数进行编码。您使用的是哪个自动完成插件?@sdleihssirch是jqueryui中提供的一个插件,经过修改后可用于POST。我已经测试了将“query.php?type=“+$(this).attr(“key”)+”和mode=1”替换为“query.php?type=state&mode=1”的代码,并且它可以工作。所以我认为这是一个在参数中附加字符串而不是选择器的问题。谢谢。@shiroin我的代码是不同的-这个
将解析为每个输入,因为它封装在jQuery的seteach()
中。
$(function() {
$(":input").autocomplete({
source: "query.php?type="+$(this).attr("key")+"&mode=1",
minLength: 2
});
});
$(":input").each(function() {
$(this).autocomplete({
source: "query.php?type="+encodeURIComponent($(this).attr("key"))+"&mode=1",
minLength: 2
});
});