我在点击单选按钮时发送ajax post请求。
// Get phone number if user selects phone option
$('.rdoPhone').click(function () {
if ($('.rdoPhone').is(':checked')) {
$(".clsEmail_Number").attr('maxlength', '10').focus();
}
});
所需功能:
当我点击单选按钮('.rdoPhone')发送ajax请求时,焦点应移至texbox下方
<input type="text" class="clsEmail_Number" id="clsEmail_Number" style="width: 194px"
name="clsEmail_Number" value="" />
但是,在ajax请求后,由于代码低,textbox的focus()会转移到页面的第一个文本框。
$(document).ajaxComplete(function (event, xhr, settings) {
window.setTimeout(function () { $("input[type='text']:visible:first").focus(); }, 0);
});
如何确保我的代码也与$(文档)一起使用.ajaxComplete()
由于
答案 0 :(得分:2)
您可以尝试使用
,而不是在ajaxComplete
中设置焦点
$( document ).ready(function() {
window.setTimeout(function () { $("input[type='text']:visible:first").focus(); }, 0);
});
答案 1 :(得分:0)
我有一个相同的解决方案。但我也在寻找更好的选择(最佳选择)。
谢谢,
以下是我用来解决此案例的代码。
$(document).ajaxComplete(function (event, xhr, settings) {
window.setTimeout(function () {
if ($('.rdoEmail').is(':checked') || $('.rdoPhone').is(':checked')) {
$(".clsEmail_Number").focus();
}
else {
$("input[type='text']:visible:first").focus();
}
}, 0);
});