/ / Wyświetl wartości jquery w osobnych polach wejściowych - jquery, html

Wyświetlaj wartości jquery w osobnych polach wejściowych - jquery, html

Próbuję wyświetlić wartość #response z kodu poniżej w polach wejściowych. Oto kod.

<script>
$(document).ready(function() {

$("#productID").change(function() {
//alert($("#productID option:selected").val());
var pId = $("#productID").val();

$.get("updateProduct", {
productID: pId.trim()    //using trim to get rid of any extra invisible character from pId
},
function(responseText) {
$("#response").val(responseText);

});

});
});
</script>

$ („# odpowiedź”).val (responseText); -> Jeśli zawiera dwie wartości, to czy istnieje sposób na odzyskanie tych wartości osobno? chciałbym wyświetlić wartości osobno w trzech osobnych polach wejściowych.

 $("#response").val(responseText);

Może zawierać wartości takie jak ProduktOpis, komentarze do produktu, typ produktu. Te wartości pochodzą z serwletu. Po otrzymaniu tych wartości zostaną wyświetlone w trzech osobnych polach wejściowych.

W tej chwili, jeśli wykonam następujące czynności,

<input type="text" id="response"/>

Spowoduje to wyświetlenie wszystkich trzech wartości w tym samym polu wejściowym. Masz pomysł, jak wyświetlić trzy wartości w trzech osobnych polach wejściowych? Z góry dziękuję

dane wejściowe pochodzą ze strony serwletu. Wewnątrz „doGet” mam następujący kod.

 for (Product8339384 ps1 : ps) {
comments = ps1.getComments();
description =ps1.getDescription();
}
out.println(comments);
out.println(description);

Wydajność: Dane wyjściowe powinny być wyświetlane w dwóch oddzielnych polach wejściowych. która wyświetli komentarze i opis. obie wartości otrzymane z bazy danych.

Odpowiedzi:

1 dla odpowiedzi № 1

Proponuję przejrzeć wyniki (ResponsText) i podzielić dane (mam nadzieję, że masz tam separator?) Na ex. JavaScript Array [].

Gdy masz sposób dowiedzieć się, ile przedmiotów jest w tablicy, możesz np. dynamicznie wstawiaj elementy wejściowe za pomocą JQuery:

$(InputsWrapper).append("<div><input type="text" name="mytext[]" id="field_"+     FieldCount +"" value="Text "+ FieldCount +""/></div>");

W ten sposób możesz użyć każdego elementu uzyskanego z tablicy i wstawić nowy element wejściowy oraz przypisać mu dane wewnątrz $ .each (JQuery) lub for-loop (JavaScript).

Możesz również przejrzeć wynik w ten sposób, jeśli nie chcesz tymczasowego sposobu tablicowego:

$.each(responseText.split(","), function(index, value) {
alert(index + ": " + value);
});

.... biorąc pod uwagę, że masz coś do podzielenia się :)

Mam nadzieję, że da ci to coś więcej do pracy ...


1 dla odpowiedzi nr 2

Oto rozwiązanie. Kod Jquery znajduje się w nagłówku.

 $(document).ready(function() {
$("#productID").change(function() {
var pId = $("#productID").val();
$.get("updateProduct", {
productID: pId.trim()    //using trim to get rid of any extra invisible character from pId
},
function(responseText) {
$.each(responseText.split(","), function(index, value) {
if(index === 0){
$("#comments").val(value);
}
else if(index === 1){
$("#description").val(value);
}
});

});
});
});

Następnie w treści HTML.

<input type="text" id="comments" name="id"/>
<input type="text" id="description" name="id"/>