¡Buenas tardes a todos! Muchas gracias por mirar. Tengo un problema de JavaScript aquí que no estoy seguro de dónde me estoy equivocando. Aquí está el escenario:
Tengo un formulario SP con varios campos personalizados a los que se les debe aplicar una función de autocompletar. Hay una llamada REST que completa automáticamente, esa parte funciona muy bien. El problema, sin embargo, radica en intentar asignar el campo TÍTULO a una variable. Esto es lo que tengo hasta ahora:
$(function() { $("input[title='FIELD1']").autocomplete({ source: function( request, response ) { var term = request.term; var restUrl = PWATABLEURL XXX.PO.Data.loadJSON(restUrl, function (data) { var items = []; var entries = data.value; while (entries.length > 0) { var entry = entries.shift(); var item = { value: entry.ResourceName, label: entry.ResourceName}; items.push(item); } response(items); }); }, minLength: 3 }); $("input[title='FIELD1']").attr("title", "Enter 3 characters to search"); $(".ui-autocomplete-input").on("autocompletechange", function(e, u){ $(this).focus(); $(this).change(); }); });En este ejemplo, he definido explícitamente 'FIELD1' como el campo para aplicar la función y todo está bien. Pero cuando sustituyo:
let varField = 'FIELD1' console.log(varField); $("input[title=varField]").autocomplete.....falla sin ayuda real de los mensajes de la consola, simplemente no funciona. El plan era configurar un interruptor de caso donde funcionaría como,
Si el título del campo = FIELD1, establezca varField en 'FIELD1' Si el título del campo = FIELD2, establezca varField en 'FIELD2', etc.
De esta manera, cada campo al que necesitábamos aplicar la función de autocompletar obtendría el mismo bloque de código sin usar secciones repetidas en el script.
Todavía me estoy desconectando, pero siento que me estoy perdiendo algo fácil aquí, ya que ni siquiera puedo llegar a una sola variable, y mucho menos a varias. Todos y cada uno de los aportes son apreciados y, como siempre, gracias a la comunidad por tomarse el tiempo.