Gracias por leer mi pregunta.
Estoy creando un sitio web para compartir novelas. Al crear un capítulo, espero que el autor pueda establecer un precapítulo de un capítulo. Por ejemplo, si un lector quiere leer el Capítulo 2, debe leer el Capítulo 1, ya que el preCapítulo del Capítulo 2 es el Capítulo 1. Aquí está el código, una parte del formulario del método POST.
<input class="form-control" list="allChapters" id="preChapter" name="chapter[preChapter]" value="<%= chapter.preChapter%>"> <datalist id="allChapters"> <option value="0">None</option> <% for (let i = 0; i < world.chapters.length; i++) {%> <% if(world.title === world.chapters[i].world ) { %> <option value="<%=world.chapters[i]._id%>"><%=world.chapters[i].title%></option> <% }%> <% } %> </datalist>El código funciona. El único problema es cómo se presenta la lista de capítulos. En cada opción, muestra chapters._id de cada capítulo, que es un poco feo e ilegible. Agrego chapters.title en el contenido de cada opción, para que al menos el autor pueda saber el significado detrás de cada ID. Sin embargo, sigue siendo feo. Verifique la imagen para obtener una imagen clara. (Todos los nombres de los capítulos comienzan con "prueba")
Mi objetivo es ocultar el valor que se muestra en la lista de opciones y mostrar solo el contenido de cada etiqueta de opción, es decir, chapter.title.
Busqué en Google por un tiempo y no encontré ninguna pregunta similar. El más cercano que encontré en el documento es que elimina la parte de valor y deja chapters.title en el contenido de la etiqueta de opción. Al hacerlo, chapters.title será el valor enviado en la solicitud POST. Sin embargo, es extraño guardar el capítulo.título pero no el capítulo._id en el modelo (uso mongoose en este caso), y puede implicar varios cambios en mis otros archivos js.
Estoy abierto a cualquier sugerencia y respuesta. Gracias de nuevo por leer mi pregunta y gracias de antemano por cualquier respuesta.