使用 jquery 禁用焦点字段

Disable field on focus with jquery

我尝试创建一个 jquery 代码,执行以下操作:

如果我选中 ID 为 "ac_inp" 的字段,则 ID 为 "ac_sel" 的 select 字段将被禁用。如果我将 ID 为 "ac_sel" 的 select 字段置于焦点,则 ID 为 "ac_inp" 的字段将被禁用。但它不起作用。怎么了?

$(document).ready(function () {
    if ($("#ac_inp").is(':focus')) {
        $("#ac_inp").prop('disabled', false)
        $("#ac_sel").prop('disabled', true)
    }
    if ($("#ac_sel").is(':focus')) {
        $("#ac_inp").prop('disabled', true)
        $("#ac_sel").prop('disabled', false)
    }
});

在您的代码片段中,您准备了一个脚本,该脚本 运行 在文档加载时执行一次。

在这种情况下,您需要为焦点创建事件,而不是永远不会 运行 的单一检查。

如果你有这个基本的疑问,请认真考虑在开始编码之前学习一本入门级的书,否则你会浪费很多时间,理解基本概念真的很重要。

<script>
$(document).ready(function () {

  $("#ac_inp").focus(function() {
     $(this).prop('disabled', false);
     $("#ac_sel").prop('disabled', true);
  });

  $("#ac_sel").focus(function() {
    $(this).prop('disabled', false);
    $("#ac_inp").prop('disabled', true);
  });

});
</script>