Ich versuche, den Wert aus einem Textfeld, das dynamisch generiert wird, zu übergeben, und seine IDs werden auch dynamisch generiert. Ich habe den Wert aus dieser Textbox erhalten, aber ich weiß nicht, wie ich den Wert als Parameter an eine Funktion übergeben soll. Kann mir jemand helfen? Dies ist, wie ich versucht:Übergeben von Parametern an eine Funktion in jQuery
var a = 0;
var b = 0;
var table;
var invoice_number;
//var c = 0;
jQuery(document).ready(function() {
jQuery.ajaxSetup({
cache: false
});
table = jQuery("#table_billing").dataTable({
"sAjaxSource": "includes/inc-billing2-db.php?mode=billing_dataTable",
"bDestroy": true,
"bPaginate": false,
"bInfo": false,
"bFilter": false,
"bSort": false,
"aoColumnDefs": [{
"aTargets": [2],
"mRender": function(data, type, row) {
return '<input type="text" class="form-control invoice_number" name="invoice_number" id="invoice_number_' + a + '" placeholder="Invoice Number" required="required" onblur="getvalue(this)">';
var x = row[3];
var y = row[4];
}
}, {
"aTargets": [3],
"mRender": function(data, type, row) {
return '<input type="text" class="form-control date" name="invoice_date" id="invoice_date_' + b + '" placeholder="Invoice Date" required="required">';
}
}, {
"aTargets": [4],
"mRender": function(data, type, row) {
return '<input type="button" class="btn-group btn-default btn-sm save" value="Save" name="save_bill" id="save_bill" onclick="jQuery(this).save(' + row[3] + ', ' + row[4] + ', ' + jQuery("#invoice_number_'+a+'").val() + ');">';
}
}],
"fnCreatedRow": function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
a = a + 1;
b = b + 1;
//c = c + 1;
}
});
jQuery.fn.save = function(id, contract_invoice_request_id, value) {
alert(id);
alert(contract_invoice_request_id);
alert(value);
jQuery.ajax({
type: "POST",
url: "includes/inc-billing-db.php?mode=save_billing",
data: {
"contract_id": aData[2],
"invoice_number": jQuery("#save_bill").val(),
"invoice_date": jQuery("#invoice_date").val()
},
success: function(data, text) {
jQuery.msgbox_success(data.message);
jQuery("#billing_" + this.id).closest('tr').remove();
jQuery("#date_" + this.id).closest('tr').remove();
}
});
}
});
function getvalue(txt) {
alert(txt.id);
var tr = $("#" + txt.id).closest('tr');
alert(tr);
var data = tr.first().text();
alert(data);
data.invoice_number = $("#" + txt.id).val();
}
Wenn ich so habe ich den Fehler als
nicht erkannte Äußerung erhalten: #invoice_number _ '+ a +')
Wie kann ich weitergeben der Wert?
'jQuery (" # Rechnungsnummer _ '+ a +' ")' ersetzt durch jQuery ("# Rechnungsnummer _" + a)? Sie haben hier einen Tippfehler – Med
Haben Sie eine jsFiddle oder etwas Setup, wo wir den Code live sehen können? – PavKR
@thePav Ich habe versucht, wie Sie sagten, aber ich bekomme den Wert als undefiniert. Wie kann ich den Wert bekommen? –