以下是我在互联网上看到的一些代码,可以帮助我大致相同:
<input size="30" id="inputString" onkeyup="lookup(this.value);" type="text" />
function lookup(inputString) {
if(inputString.length == 0) {
// Hide the suggestion box.
$('#suggestions').hide();
} else {
$.post("rpc.php", {queryString: ""+inputString+""}, function(data){
if(data.length >0) {
$('#suggestions').show();
$('#autoSuggestionsList').html(data);
}
});
}
} // lookup
1) ** {queryString:“”+ inputString +“”} 这是一个json符号,但为什么我们需要第一个“”和最后一个“”?**
2) $( '#autoSuggestionsList')的html(数据);
[UPDATE] 这假定从服务器端返回的数据是html格式。 如果,这种格式在json中,我们需要在这里修改什么,以使其适应json服务器端响应呢? [/ UPDATE]
谢谢, MEM
答案 0 :(得分:2)
回答1)你确定它的意思是“”(双引号,双引号)而不是'“'(单引号,双引号,单引号)。
这会更有意义,因为你会考虑任何inputString
。 (例如,如果输入字符串是'hello',那么您的行将是queryString: "hello"
我认为上面发生的是你要追加并在inputString
之前添加一个空字符串。
我不完全确定你要问的是什么(2),但一般来说,在隐藏输入中存储JSON数据是公认的做法。从那里,您可以使用JSON解析器将其转换为JavaScript对象以供使用。
编辑: 如果你想看一下,我做了一个jsfiddle模型: http://jsfiddle.net/gRQMy/5/
答案 1 :(得分:0)
你需要双引号来关闭字符串然后添加变量然后再次打开字符串
你可以使用类似jquery网站上的例子来获取json
$.post("rpc.php", { "querystring": ""+inputstring+"" },
function(data){
alert(data); // Json
}, "json");