Tworzę tę aplikację, która pomaga ludziom grać w Yahtzee bez kości. Zasadniczo jest to generator liczb losowych wyświetlany wizualnie w DOM.

Próbuję dodać jakąś dodatkową funkcjonalność, pozwalając graczom klikać wygenerowane liczby, które są przechowywane w DOM w elementach przycisków. Klikając na nie, zapisuje ten numer w polu wprowadzania tekstu poniżej.

Próbowałem wielu różnych rzeczy, aby wkleić wartość w polu wejściowym, ale wydaje się, że nic nie działa ani nie generuje żadnych błędów. Rejestrowanie wartości w konsoli po kliknięciu działa dobrze.

Wyjaśnienie TLDR w wideo (przepraszam za gówniany dźwięk): https://www.loom.com/share/449c370364b448349e20a06085da

Link do Github: https://github.com/Roaldkamman/Portfolio_YahtzeeDice

Najważniejszy fragment kodu, który próbuję naprawić:

$(".dice-button").on("click", ".btn_1", function() { 
    $(".myInput").value = this.textContent + ", ";
});

Jak działa logowanie do konsoli:

$(".dice-button").on("click", ".btn_2", function() { 
    console.log(this.textContent); 
});

Z góry dziękuję za pomoc! :)

0
RoaldKamman 10 marzec 2020, 18:43

2 odpowiedzi

Najlepsza odpowiedź

.value jest właściwością elementu wejściowego HTML, a nie obiektu jQuery. Dlatego należy albo użyć .val() jQuery, aby ustawić wartość, albo pobrać kod HTML element z obiektu:

$(".myInput").val(this.textContent + ", ");

...lub:

$(".myInput")[0].value = this.textContent + ", ";
0
Terry 10 marzec 2020, 15:48

W jQuery użyj metody val() w elemencie wejściowym

$(".myInput").val(this.textContent + ", ")
0
Oleh Morozov 10 marzec 2020, 15:48