我有以下代码,在mydata.jsp中q的值为空。将inputId的值传递给mydata.jsp的正确方法是什么?
<input type="text" size="25" name="inputId" id="inputId" />
和Jquery脚本为
<script type="text/javascript">
$(function() {
$("#inputId").autocomplete({
source: "mydata.jsp?q="+$( "#inputId" ).val(),
select:function(event,ui) {
$("#hid").val(ui.item.email)
}
});
});
</script>
答案 0 :(得分:2)
当您将$( "#inputId" ).val()
作为参数传递给.autocomplete()
时,您将在输入任何内容之前从该字段获取初始值。这可以解释为什么它是空的。
如果您使用自动填充的字符串版本,它可以自动将键入的值添加到URL。请参阅文档,了解source
here的字符串版本。
如果您希望source
的URL是动态生成的URL,那么您还可以将函数作为source
传递,该函数中的代码可以生成URL /替代。请参阅source
选项here的文档。
答案 1 :(得分:1)
$('#inputId').keyup(function()
{
var str=$(this).val();
if(str!='')
{
$.ajax({
type:"GET",
url:"mydata.jsp",
data:"str="+str,
success: function(data){
alert(data);
}
});
}
});
试试这样。希望它会给你一些解决方案。