Ich habe einenWie löst man die Schaltfläche aus, wenn der Benutzer mit Jquery auf die Eingabetaste klickt?
TextBox (id = txtFilterValue),
button (id = btnAdd) und
Tabelle (id = Abfragetabelle)
Sobald der Benutzer den Wert in das Textfeld eingegeben hat, können sie die Eingabetaste drücken. Wenn sie also die Eingabetaste drücken, sollte sie die Schaltfläche "Hinzufügen" aufrufen, die bereits in jquery definiert ist. Diese
ist, was ich versucht
JQuery-Code
//Preventing ENTER Key
$('#form1').on('keyup keypress', function (e) {
var keyCode = e.keyCode || e.which;
if (keyCode === 13) {
//$('input[name = btnAdd]').click();
$("#btnAdd").trigger('click');
e.preventDefault();
return false;
}
});
Der obige Code zu Verhindern, dass die Enter-Taste und es wird auf die Schaltfläche Hinzufügen nennen.
Wie ich dachte, es funktioniert. Aber es ruft zwei Mal und die Werte sind 2 mal. Es sollte nicht zweimal hinzugefügt werden.
Wenn ich direkt auf die Schaltfläche Hinzufügen klicke, wird nur der Datensatz in meine Tabelle eingegeben. mit dem gleichen Rückruf
Dies ist meine Schaltfläche Code hinzufügen
//Filter Query Add to TABLE and TEXTBOX
$("#btnAdd").click(function() {
var selectedField = $("#FilterField option:selected").text();
var operator = $("#ddlOperator :selected").val();
var filterValue = $("#txtFilterValue").val();
var query;
var textFilterRecord = $("#txtFilterRecord").val();
//values seperated by COMMA
var arrayTxtConditionValue = filterValue.split(',');
if (operator == 'equalTo') {
if ($("#txtFilterRecord").val().length == 0) {
//put the single quotation(') in between values
var filterCommaValue = '';
for (var i = 0; i < arrayTxtConditionValue.length; i++) {
if (i == 0) {
filterCommaValue = filterCommaValue + "'" + arrayTxtConditionValue[i] + "'";
}
else {
filterCommaValue = filterCommaValue + ",'" + arrayTxtConditionValue[i] + "'";
}
}
query = selectedField + ' IN(' + filterCommaValue + ') ';
$("#txtFilterRecord").val($("#txtFilterRecord").val() + query);
$("#queryTable > tbody:last-child").append('<tr><td class="FieldNameID">' + selectedField + '</td><td class="OperatorID"> IN(' + filterCommaValue + ')</td></tr>');
}
else {
var filterCommaValue = '';
for (var i = 0; i < arrayTxtConditionValue.length; i++) {
if (i == 0) {
filterCommaValue = filterCommaValue + "'" + arrayTxtConditionValue[i] + "'";
}
else {
filterCommaValue = filterCommaValue + ",'" + arrayTxtConditionValue[i] + "'";
}
}
var radioButton = $('input[name=group]:checked').val();
query = radioButton + ' ' + selectedField + ' IN(' + filterCommaValue + ') ';
$("#txtFilterRecord").val($("#txtFilterRecord").val() + query);
$('#queryTable > tbody:last-child').append('<tr><td class="FieldNameID">' + radioButton + ' ' + selectedField + '</td><td class="OperatorID"> IN(' + filterCommaValue + ')</td></tr>');
}
}
});
Warum negativen Marken ..? –