first - jquery append after



كيف يمكنني نقل التركيز إلى الإدخال التالي باستخدام jQuery؟ (10)

أسهل طريقة هي إزالته من فهرس علامة التبويب معًا:

$('#control').find('input[readonly]').each(function () {
    $(this).attr('tabindex', '-1');
});

أنا بالفعل استخدام هذا على عدة أشكال.

أنا أستخدم البرنامج المساعد للإكمال التلقائي مع jQuery وهو يعمل بشكل جيد. ومع ذلك ، في IE ، عندما يحدد المستخدم عنصرًا في الإكمال التلقائي ، لا ينتقل التركيز بعد ذلك إلى حقل الإدخال التالي. بطبيعة الحال يعمل في فايرفوكس. لا يحتوي المكون الإضافي على حل مدمج ولكنه يوفر "خيارات". هل هناك طريقة يمكنني إجبارها على الانتقال إلى حقل الإدخال التالي؟


إذا كنت تستخدم event.preventDefault () في البرنامج النصي ، فقم بالتعليق عليه لأن IE لا يحب ذلك.


حاول استخدام شيء مثل:

            var inputs = $(this).closest('form').find(':focusable');
            inputs.eq(inputs.index(this) + 1).focus();

قطة استخدامه

$(document).on("keypress","input,select",function (e) {
    e.preventDefault();
    if (e.keyCode==13) {
        $(':input:eq(' + ($(':input').index(this) + 1) +')').focus();
    }
});

لماذا لا تكتفي فقط بإعطاء حقل الإدخال الذي تريد الانتقال إلى معرف والقيام به تركيز بسيط

$("#newListField").focus();

ما قصده سام هو:

$('#myInput').focus(function(){
    $(this).next('input').focus();
})

هنا هو ما عملت في حالتي. قد تكون أقل كثافة في الأداء.

$('#myelement').siblings('input').first().focus();

يحتوي JQuery UI على هذا بالفعل ، في المثال الخاص بي أدناه ، قمت بتضمين سمة maxchar للتركيز على العنصر التالي الذي يمكن التركيز عليه (الإدخال ، التحديد ، textarea ، الزر والكائن) إذا كتبت في عدد الأحرف الأقصى

HTML:

text 1 <input type="text" value="" id="txt1" maxchar="5" /><br />
text 2 <input type="text" value="" id="txt2" maxchar="5" /><br />
checkbox 1 <input type="checkbox" value="" id="chk1" /><br />
checkbox 2 <input type="checkbox" value="" id="chk2" /><br />
dropdown 1 <select id="dd1" >
    <option value="1">1</option>
    <option value="1">2</option>
</select><br />
dropdown 2 <select id="dd2">
    <option value="1">1</option>
    <option value="1">2</option>
</select>

جافا سكريبت :

$(function() {
    var focusables = $(":focusable");   
    focusables.keyup(function(e) {
        var maxchar = false;
        if ($(this).attr("maxchar")) {
            if ($(this).val().length >= $(this).attr("maxchar"))
                maxchar = true;
            }
        if (e.keyCode == 13 || maxchar) {
            var current = focusables.index(this),
                next = focusables.eq(current+1).length ? focusables.eq(current+1) : focusables.eq(0);
            next.focus();
        }
    });
});

var inputs = $('input, select, textarea').keypress(function (e) {
  if (e.which == 13) {
    e.preventDefault();
    var nextInput = inputs.get(inputs.index(this) + 1);
    if (nextInput) {
      nextInput.focus();
    }
  }
});

  function nextFormInput() {
      var focused = $(':focus');
      var inputs = $(focused).closest('form').find(':input');
      inputs.eq(inputs.index(focused) + 1).focus();
  }




autocomplete