我正在制作一个表单来将成员添加到项目中。仅可添加其个人资料已记录在系统中的成员。有一个名称输入字段和一个位置选择框。位置选择框默认处于禁用状态。
想法:
用户输入名称,将出现自动完成下拉列表。下拉列表包含其个人资料记录在系统中的成员的姓名。
用户在下拉列表中选择一个名称,位置选择框将取消禁用。
如果此后用户对名称输入字段进行任何更改,位置选择框将再次禁用,并且自动完成下拉列表将再次出现。
我将禁用的事件放入自动完成的响应事件中。
问题:当我将 Backspace 放入输入字段时,位置选择框被禁用,但是当我输入 Ctrl + A 时,则退格键,不是。我该如何解决这个问题?
$("#autocomplete").autocomplete({
source: function(request, response) {
//some ajax stuffs
},
select: function (e, ui) {
$('#verified').val('true'); //the name is already recorded
$('#selectPosition').removeAttr('disabled');
},
response: function(event, ui) {
if($('#verified').val() == 'true') {
$('#verified').val('');
$('#selectPosition').attr('disabled','disabled');
}
}
})
最佳答案
当输入框中发生更改时,会触发 .change() 方法。 当焦点移出输入框时,会检测到此更改。 无论如何进行更改,它都会起作用 - 无论您使用退格键删除一个或多个字符,还是使用 Ctrl + A 选择整个文本并使用退格键将其删除。 当您将焦点移出输入框时,该事件将触发。
关于javascript - JQuery UI 自动完成 : Response, Ctrl + A 和 Backspace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33780783/