我有一个简单的Web应用程序,在其中创建了一个向导,每个向导页面都包含从数据库填充的不同表单字段,当用户按下时,接下来使用Ajax调用从服务器检索页面数据.这是针对Ajax调用从服务器检索的页面代码.我使它易于理解.
function printADalertWizardStep($step)
{
switch($step)
{
case 1: //step of wizard, first step
print "Welcome to alert wizard,...";
break;
case 2: //second step of wizard which contains the text field to which I want to attach autocomplete list.
?>
<table>
<tr>
<td>Keywords</td>
<td><!-- This is text field to which I want to attach autocomplete -->
<input id="nalertkw" name="nalertkw" size="10" type="text">
</td>
</tr>
</table>
<?PHP
break;
}
}
}
//Script will be executed when the page is ready for scripting
$(document).ready(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$( "#nalertkw" ).autocomplete({
source: availableTags
});
});
现在的问题是,当用户不按#nalertkw文本字段时,在用户按下“下一步”并且$(document).ready()函数已经触发之后,将加载表单.因此,自动完成功能不起作用.我正在使用Jquery-UI Autocomplete,如何将自动完成功能附加到通过Ajax调用加载的文本字段?
编辑:此外,我已经在带有文本字段的简单页面(没有Ajax调用)上测试了我的设置,并以相同的方式将自动完成功能附加到该文本字段.它绝对正常.它确认自动完成设置正确,但是将其附加到通过Ajax调用检索的文本字段时不起作用.
@R_502_5620@:
尝试将事件挂接到Ajax调用的:success处理程序中,如下所示,
$.ajax({
url: "page.aspx/FetchEmailList",
data: "{ 'mail': '" + request.term + "' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
$( "#nalertkw" ).autocomplete({
source: availableTags
});
}
}))
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。