Ich habe (2) jquery Autocomplete-Steuerelemente Back-to-Back. Wenn ich einen Wert in das erste Feld eingebe und auswähle und dann einen Wert in das zweite Feld einfüge und auswähle, läuft alles gut. Wenn ich dann zurück zum ersten Textfeld gehe und einen Wert eintippe, erhalte ich die Fehlermeldung vom zweiten Autovervollständigungs-Steuerelement.Jquery Ergebnisse sind inkonsistent
Irgendwelche Ideen? Dies ist das erste Textfeld
$("#txtCIPCriteria").autocomplete({
source: function (request, response) {
$.ajax({
async: false,
delay: 250,
url: $('#hdfldPath').val(),
data: "{ 'Name': '" + request.term.replace(/'/g, "\&apos") + "'}",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
response($.map(data.d, function (item) {
return {
label: item.split('|')[0],
val: item.split('|')[1]
//label: item.Text,
//value: item.Value
} // end of return
})) // end of response
} // end of success
}); // end of ajax
}, // end of source
select: function (e, i) {
$("#hdfldCIPCode").val(i.item.val);
},
change: function (event, ui) {
if (!ui.item) {
$(event.target).val('');
}
},
minLength: 2
}); // end of $("#txtCIPCriteria").autocomplete
Dies ist der zweite Steuer
ist $("#txtBuildingsCriteria").autocomplete({
source: function (request, response) {
$.ajax({
async: false,
delay: 250,
url: $('#hdfldPath').val(),
data: "{ 'Name': '" + request.term.replace(/'/g, "\&apos") + "'}",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
response($.map(data.d, function (item) {
return {
label: item.split('|')[0],
val: item.split('|')[1]
//label: item.Text,
//value: item.Value
} // end of return
})) // end of response
} // end of success
}); // end of ajax
}, // end of source
select: function (e, i) {
$("#hdfldBuilding").val(i.item.val);
// GetFiscalAgents1(i.item.val);
var CipCode = $('#hdfldCIPCode').val();
var Bldg = $("#hdfldBuilding").val();
var ProgType = $('#ddlProgramType').val();
GetFiscalAgents1(i.item.val);
GetProspRegion(i.item.val);
//var Result = FindCIPCodeCount(CipCode, Bldg, ProgType)
//if (Result == 'Exists') {
// MsgBox('This is an active CIPCode, Building and ProgramType combination already. Please change your criteria.');
//}
//else {
// $("#hdfldBuilding").val(i.item.val);
// GetFiscalAgents1(i.item.val);
// GetProspRegion(i.item.val);
//}
},
change: function (event, ui) {
if (!ui.item) {
$(event.target).val('');
}
},
minLength: 3
}); // end of $("#txtBuildingsCriteria").autocomplete
Ich weiß nicht, zu setzen, wenn es für das Problem verwandt ist, aber Sie Versuchen Sie nicht, ein eigenes JSON zu erstellen, verwenden Sie 'JSON.stringify()' für ein Objekt. – Barmar
Welchen Fehler bekommen Sie? – Barmar
Auch in JSON müssen Strings mit doppelten Anführungszeichen umgeben sein, nicht einzelne Qoutes. Also '' {'Name': ...} "' ist falsch, weil 'Name' in doppelten Anführungszeichen stehen muss. – Barmar