Wpis z mikrobloga

Pytanie do ninja programistów :D
Mam wtyczkę na WP w której jedno pole input jest "text" aby wpisać sobie nazwę/tytuł. Chciałbym to pole ograniczyć do wpisywania tylko kilku nazw i wpadłem na pomysł, że zmienie to pole na dropdown z listą już z góry ustaloną do wyboru.

Czy istnieje sposób na "wstrzyknięcie" w to miejsce innego inputa? Nie ma chyba możliwości nawet edycji tego miejsca z poziomu ftp. Blagam pomóżcie

#programowanie #js #php
  • 72
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

jQuery('document').ready(function() {
convertInputTextToSelect();
jQuery('body').on("click", '#_wc_booking_has_person_types', function() {
convertInputTextToSelect();
});
jQuery('body').on('click', 'span.add_multi_input_block', function() {
  • Odpowiedz
@imdejv1: To może teraz:

jQuery('document').ready(function() {
convertInputTextToSelect();
jQuery('body').on("click", '#_wc_booking_has_person_types', function()
  • Odpowiedz
@mat89c: Działa, ale jak odświeżę to pokazuje wszędzie "Pierwsza wartość" pomimo że w bazie wiszą już te wartości wybrane przed odświeżeniem, czyli zapisane + od frontu wyświetla nagłowki z value: pierwszaWartosc, drugaWartosc. Mam też pytanie czy "value" mogę nazwać "Pierwsza wartość (30kg)" ? czy to dziala tylko bez ogonkow i znakow specjalnych i spacji?
  • Odpowiedz
@imdejv1: Możesz nazwać "Pierwsza wartość (30kg). Zobacz czy teraz będzie działać

jQuery('document').ready(function() {
convertInputTextToSelect();
jQuery('body').on("click", '#_wc_booking_has_person_types', function()
  • Odpowiedz
@mat89c: Jeśli chodzi o wpisane value to działa faktycznie ładnie oraz tym sposobem odpadł błąd nagłówków. Jednak po odświeżeniu edycji z pozycjami nadal wszędzie pokazuje "Pierwsza wartość" ( choć w bazie zapisane są inne i zapisane) Czyli wybrałem różne wartości > zapisałem > na froncie sie wyświetlają poprawnie (bo są zapisane) ale w edycji pokazuje wszędzie pierwszą pozycje przy każdej.
  • Odpowiedz
@imdejv1: Poniższa linijka kodu odpowiada za poprawne wczytanie wartości w select. Możesz pod nią wstawić console.log(selectedValue) i w konsoli sprawdzić czy pod tą zmienną są poprawne wartości.

jQuery(this).find('option[value="'+selectedValue+'"]').attr('selected', true);
console.log(selectedValue)
  • Odpowiedz
@imdejv1: Poniższy kod powinien zadziałać

jQuery('document').ready(function() {
convertInputTextToSelect();
jQuery('body').on("click", '#_wc_booking_has_person_types', function()
  • Odpowiedz
@mat89c: Z tego co widzę i testuje wszystko obecnie działa poprawnie! :) Czy mógłbyś włączyć wiadomości priv na wykop lub odezwać się w wiadomości do mnie?
  • Odpowiedz