v2.5.2
Giriş yap

"Enter" tuşu ile "select" etiketinden sonraki gelen etiketi seçmek istiyorum?

trsherlock
639 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Aşağıdaki kodlara göre normalde sağlıklı çalışıyor fakat "select" etiketine gelince seçim kutusunu açıyor. Ve 3. sütundaki "input" etiketini seçmiyor.
"Enter" tuşu ile "select" etiketinden sonraki etiketi seçebilirim?
Hazır html yapısı için CodePen.io bağlantısı
İlginiz için şimdiden teşekkürler...

$(document).on("keyup",".faturaDetay",function(e){
  var vergisiz = $(this).closest("tr").find("td").eq(0).find('.faturaDetay').val();
  var oran = $(this).closest("tr").find("td").eq(1).find('.faturaDetay').val();
  var kdv = parseInt(vergisiz) * parseInt(oran) / 100;
  $(this).closest("tr").find("td").eq(2).find('.faturaDetay').val(kdv)
  $(this).closest("tr").find("td:last-child").find(".faturaDetay").val(parseInt(vergisiz) + parseInt(kdv))
  if (e.which == 13){
      var tdActiveIndex = $(this).closest("td").index();
      var tdLastIndex = $(this).closest("tr").find("td:last-child").index();
      var trActiveIndex = $(this).closest("tr").index();
      var trLastIndex = $(this).closest("tbody").find("tr:last-child").index();
      if (tdActiveIndex == tdLastIndex && trActiveIndex == trLastIndex)
        {
          var employe;
          employe = '<tr>' +
          '<td><input type="text" name="veri[]" class="faturaDetay"></td>' +
          '<td><input type="text" name="veri[]" class="faturaDetay" value="8"></td>' +
          '<td><input type="text" name="veri[]" class="faturaDetay"></td>' +
          '<td><input type="text" name="veri[]" class="faturaDetay"></td>' +
          '</tr>';
          $("table").append(employe);
          trLastIndex = $(this).closest("tbody").find("tr:last-child").index();
          $("tbody").find("tr").eq(trLastIndex).find(".faturaDetay").eq(0).focus();
        }
        else if (tdActiveIndex != tdLastIndex)
        {
          $(this).closest("td").next('td').find('.faturaDetay').focus().select();
        }else{
          $(this).closest("tr").next('tr').find('.faturaDetay').eq(0).focus().select();
        }
    }
});
trsherlock
1486 gün önce

Teşekkür ederim Tayfun Bey ben sorunu farklı şekilde çözdüm. Sorun keydown ve keyup olaylarından kaynaklanıyormuş.
Enter tuşu ile atlatırken eylem=keyup fakat hesaplatma yaparken eylem=keydown olması gerekiyor.
Select üzerinde atlamam için keydown kullanmam gerekiyormuş.
Ben ise input'a değer girildiğinde hesaplanması için keyup kullanıyordum.
İkisini ayırdım sorun çözüldü.