v2.5.2
Giriş yap

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

trsherlock
590 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();
        }
    }
});
makifgokce
1292 gün önce

Anladığım kadarıyla sorun Kdv tutarının olduğu inputta değergirdiğinde direk siliyor.
bunun nedeni

var kdv = parseInt(vergisiz) * parseInt(oran) / 100;
$(this).closest("tr").find("td").eq(2).find('.faturaDetay').val(kdv)

buradaki kdv float değer döndürdüğünden type="number" olan bir inputta sıkıntı çıkarması normal :)

$(this).closest("tr").find("td").eq(2).find('.faturaDetay').val(parseInt(kdv))

bu şekide integer olarak girersen sıkıntı çıkmayacaktır