动态数字表单控件问题

时间:2016-07-27 06:24:50

标签: javascript jquery html

我使用jquery append方法添加表单,这个方法有.numerik_kontrol类,但这个函数工作是另一种形式,但它不能在我的动态表单上工作

我的功能;

   $(document).ready(function(){

    /** numerik kontrol*/
 $(".numerik_kontrol").keydown(function (e) {
        // Allow: backspace, delete, tab, escape, enter and .
        if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
             // Allow: Ctrl+A, Command+A
            (e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) || 
             // Allow: home, end, left, right, down, up
            (e.keyCode >= 35 && e.keyCode <= 40)) {
                 // let it happen, don't do anything
                 return;
        }
        // Ensure that it is a number and stop the keypress
        if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
            e.preventDefault();
        }
    });
 /** numerik kontrol bitiş*/

 /** select seçim*/
$(".btn_ekle").on("click", function(e) {
    var ekle = $(".ekle").html();
    $(".add_after").append(ekle).show();

    e.preventDefault();

});



$(document).on('change', '.havale_tipi', function() {
    var value = $(this).val(),
        parent = $(this).closest(".group");
    if (value == "iban_no") {
        $(".hesaba_form", parent).fadeOut();
        $(".iban_no_form", parent).fadeIn();
    } else {
        $(".iban_no_form", parent).fadeOut();
        $(".hesaba_form", parent).fadeIn();
    }


});



 $(document).on("click", ".iade_sil", function() {

    var form_sil;
    var form_sil = confirm("Formu silmek istediğinize emin misiniz ?");
    if (form_sil == true) {
    $(this).closest(".group").remove(); 
    } else {
        return false;
    }
});

document.getElementById('iade_miktari').className="numerik_kontrol";


});

if you wanna check out full click this link - demo page

如果单击表单按钮(左键)的底部,您将看到动态表单

1 个答案:

答案 0 :(得分:1)

$(document).on中,在现有keydown元素上使用numerik_kontrol事件处理程序而不是$(document).ready处理程序。这会将处理程序绑定到文档并在每个keydown事件发生时评估选择器,而不是直接将处理程序绑定到$(".numerik_kontrol"),keydown(function(e) { ...

中单个选择器评估的结果

而不是:

$document.on("keydown", ".numerik_kontrol", function(e) { ...

尝试更像这样的事情:

{
      "query": {
        "has_child": {
          "type": "instance",
          "query": {
            "has_child": {
              "type": "instance_permission",
              "query": {
                "terms": {
                  "uuid": {
                    "index": "user",
                    "type": "user",
                    "id": "5",
                    "path": "uuids"
                  }
                }
              }
            }
          }
        }
      }
    }