我使用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
如果单击表单按钮(左键)的底部,您将看到动态表单
答案 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"
}
}
}
}
}
}
}
}