使用jquery

时间:2018-12-13 02:18:34

标签: javascript php jquery html

假设我输入了文本和下拉选项。默认情况下,禁用下拉列表,并启用输入。因此,员工ID输入在验证已键入的值方面发挥着作用。实际上,员工ID输入是用户扫描其员工ID(长度等于6)并将启用drowpdown的位置。另一种绕过扫描员工ID的方法,某些员工将在输入中键入特定的关键字,例如“ KYXY”,然后通过插入他们能够手动键入输入的员工ID的关键字,并在手动输入员工ID后输入length == 6和下拉列表将启用。.对我来说,这有点棘手。

<input type="text" id="myContent" class="form-control" value="" placeholder="Staff ID">

<select class="form-control" id="dropdownss" disabled="" value="Disabled value">
<option>Select Shift</option>
<option>A</option>
<option>B</option>
<option>C</option>
</select>

这是我的jQuery

$('document').ready(function() {
        $('#myContent').keyup('input',function(){
        var a = "KYXY";
        var myNumber = this.value;

        if(myNumber == a)
        {
        $('#dropdownss').prop( "disabled", false );
        $('#myContent').val('');
        var userlog="1";


            if($(this).val().length == 6)
            {
                if(userlog == "1")
                {
                    //alert("Yay");
                    $('#myContent').val('');
                    $('#myContent').focus();
                    $('#dropdownss').prop( "disabled", false );
                }
                else
                {
                    $('#dropdownss').prop( "disabled", true );
                }
            }
        }
        else if(myNumber !== a)
        {
            alert("scan only");
            $('#myContent').val('');
            $('#myContent').focus();
        }
        }); 
    });

2 个答案:

答案 0 :(得分:1)

大概是这样的:

$('document').ready(function() {
  $('#myContent').on('input', function() {
    var a = "KYXY";
    var input = $(this);
    var num = input.val();
    
    if (num.length === 6 && !/\D/.test(num)) { 
      $('#dropdownss').prop("disabled", false);
      input.prop('manual', false).val('');
    }
    else if (input.prop('manual') || ~a.indexOf(num)) {
      if (a !== input.val()) return;
      input.prop('manual', true).val('');      
    } else {
      alert("scan only");
      $('#dropdownss').prop("disabled", true);
      $('#myContent').val('');
      $('#myContent').focus();
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="myContent" class="form-control" value="" placeholder="Staff ID">

<select class="form-control" id="dropdownss" disabled="" value="Disabled value">
  <option>Select Shift</option>
  <option>A</option>
  <option>B</option>
  <option>C</option>
</select>

答案 1 :(得分:0)

我不得不重写您的jQuery代码的很大一部分。但这应该可行。

$('document').ready(function() {
    var myContent =  $('#myContent');
    var dropdown = $('#dropdownss');

    myContent.on('keyup', function() {
        var a = "KYXY";
        var myNumber = $(this).val();

        if (myNumber ==  a) {
            dropdown.removeAttr("disabled");
            myContent.val('');

            var userlog = "1";

            if ($(this).val().length == 6) {
                if (userlog == "1") {
                    // Alert("Yay");
                    myContent.val('');
                    myContent.focus();
                    dropdown.removeAttr('disabled');
                } else {
                    dropdown.attr('disabled', 'disabled');
                }
            }
        } else if (myNumber.length >= 6 && myNumber != a) {
            alert("Scan only");
            myContent.val('');
            myContent.focus();
        }
    });
});