Я пытаюсь создать функцию в Jquery, которая позволяет мне добавить значение 3 ввода (содержащее данные, выраженные во времени) к 4-му вводу, что-то вроде этого:
ВХОД13 ВХОД12 ВХОД11 ВХОД14 (результат) .
для этого я использую эту функцию:
var reg1 = /^(tiempo)(1)(1|2|3)$/;
var reg2 = /^(tiempo)(2)(1|2|3)$/;
var reg3 = /^(tiempo)(3)(1|2|3)$/;
$("input[name^='tiempo']").bind( "blur", function() {
//alert($(this).attr('name'))
if ( $(this).attr('name').match(reg1) ){
$("input[name^='totalt1']").val( $("input[name^='tiempo1']").sumValues() );
}
if($(this).attr('name').match(reg2)){
$("input[name^='totalt2']").val( $("input[name^='tiempo2']").sumValues() );
}
if($(this).attr('name').match(reg3)){
$("input[name^='totalt3']").val( $("input[name^='tiempo3']").sumValues() );
}
//$("input[name^='totalt']").val( $("input[name^='tiempo']").sumValues() );
});
Но входы являются динамическими, поскольку пользователь может создать более одного, например:
INPUTn1 INPUTn2 INPUTn3 INPUTn4 (результат) .
Функция для создания большего количества входов:
var counter = 2;
$("#addButton").click(function () {
if(counter>6){
alert("Solo se permiten 6 Mediciones por dia");
return false;}
$('#tiempos_te').append( '<tr>' +
'<td><input name="fac' + counter + '" type="text" id="fac' + counter + '" onKeyPress="return acceptNum(event)" maxlength="10" class="obligatorio"/></td>' +
'<td> <input type="text" name="tiempo' + counter + '1" id="tiempo' + counter + '1" class="obligatorio tiempo" maxlength="6" onKeyPress="return acceptNum(event)" /></td>' +
'<td> <input type="text" name="tiempo' + counter + '2" id="tiempo' + counter + '2" class="obligatorio tiempo" maxlength="6" onKeyPress="return acceptNum(event)" /></td>' +
'<td> <input type="text" name="tiempo' + counter + '3" id="tiempo' + counter + '3" class="obligatorio tiempo" maxlength="6" onKeyPress="return acceptNum(event)" /></td>' +
'<td><input type="text" name="totalt' + counter + '" id="totalt' + counter + '" readonly="readonly" class="total_tiempo" /></td>' +
'<td><select name="turn' + counter + '" id="turn' + counter + '" class="obligatorio">' +
'<option value="2">Vespertino</option>' +
'<option value="3">Nocturno</option>' +
'</select></td>' +
'</tr>' );
counter++;
});
Но новые входы ничего не делают, не выполняют сумму, что происходит? знак равно
.on
был представлен в v1.7) 02.10.2013.delegate('input[name^="tiempo"]', 'blur', function(){
02.10.2013delegate
в том виде, в котором я его опубликовал.. а также я обновил свой код, добавив еще несколько исправлений. См. jsfiddle.net/8XzDk/1 02.10.2013