不要关注自动完成选择

时间:2015-04-08 13:59:45

标签: javascript jquery jquery-ui

我需要强制用户从jquery-ui autocomplete创建的项目列表中选择一个选项。 我想禁用页面的所有其余部分,直到他们选择一个选项,同时不允许焦点离开字段,因为这会使选择列表关闭。有办法吗?

2 个答案:

答案 0 :(得分:0)

创建一个图层(div)以覆盖整个页面 获取您需要启用的元素并将其附加到封面 (需要定位)。 向您的元素添加一个焦点外处理程序,该元素再次对该元素调用focus()。
选择完成后,将元素放回原始位置,然后移除封面div。

答案 1 :(得分:0)

对于原生输入元素,您只需设置disabled属性。

$('input').attr('disabled', true);

对于jQuery UI输入元素,您可以设置disabled选项。

$('.datepicker').datepicker('option', 'disabled', true);

因此,当选择一个选项时:

// Initialize selectmenu
$('.select').selectmenu({
    // Do stuff when .select has changed
    change: function(e) {
        // Enable another input element: .datepicker
        $('.datepicker').datepicker('option', 'disabled', false);
    }
});