Autor Zpráva
Drezen
Profil
zdravím všetkých

mám tento kód

<div class="input-group">
    <input type="text" id="abc" class="form-control">
    <div class="input-group-append">
        <span class="input-group-text"><i class="fas fa-calendar-alt"></i></span>
    </div>
</div>

<script type="text/javascript">
    $(function() {$.datepicker.setDefaults($.datepicker.regional[$("#lang").val()]);
    $("#abc").replaceWith("<input type="text" id="abc" class="form-control">");
    $("#abc").datepicker({dateFormat: $("#format_date").val(), 
    minDate: "+'.$valid_min.'D", 
    maxDate: "+'.$valid_max.'D", 
    
    
   showOn: "button", 
    buttonImageOnly: true, 
    buttonImage: "'.CONFIG::$site_link.'images/calendar.png"});
    
    
   $("#abc").datepicker("setDate", $("#datum").val());});
</script>


a chcem nahradiť ikonu calendar.png
za font awesome ikonu <i class="fas fa-calendar-alt"></i>

samozrejme tak ako je horeuvedené, ikona awesome by mala byť v inpute (nie vedľa inputu ako ikona calendar.png)

no a tu som narazil na problém.
aj keď dostanem ikonu do inputu - po kliknuti nereaguje
po kliknuti iba na input ten reaguje a dátum sa zobrazí

používam jquery-ui.multidatespicker.js
version:1.6.1

som len programátor / amatér
vyskúšal som rôzne veci, ale bohužial programátorský guru zo mňa nebude.
kde je vlastne pes zakopany?


Moderátor Kajman: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Kajman
Profil
Zkuste

{...
  buttonImageOnly: false, 
  buttonImage: '',
  buttonText: '<i class="fas fa-calendar-alt"></i>'
}

api.jqueryui.com/datepicker/#option-buttonText
Drezen
Profil
Kajman:

tak som to skúsil

buttonImageOnly: false,
buttonImage: "",
buttonText: "<i class="fas fa-plus"></i>"

žial tú awesome ikonu na ten buttonText neviem dostať

ak použijem

buttonImageOnly: false,
buttonImage: "",
buttonText: "iba text"

tak vtedy to funguje (je tam "iba text" ale žiadna ikona)


zabudol som

buttonText: "<i class="fas fa-plus"></i>"

vtomto prípade tu ikonu nevidno / nezobrazuje sa vôbec žiadny button na kliknutie
Kajman
Profil
Zkontrolujte si uvozovky a používejte [pre]
Drezen
Profil
tak som vyskúšal asi 1000 rôznych kombinácií - žial bez úspechu.
menil som 6hod. uvodzovky, dával lomítka, použil aj [pre] .
nie som taký profesionál aby som to zvládol.
ostal som teda pri klasickej png ikone.
vďaka za snahu
Keeehi
Profil
Drezen:
To pre bylo myšlené tady, v diskuzi. Abys vkládaný kód označil tou značkou, protože jinak jako obyčejný text se to
1) nedá číst
2) není to zvírazněné obarvovačem kódu.
Ono je pak vidět, kde je ten problém.
buttonText: "<i class="fas fa-plus"></i>"
To za tím buttonText by mělo být celé červené, protože to má být řetězec. Ale sám vidíš, že tam evidentně je problém.
Takhle už to je lepší
buttonText: '<i class="fas fa-plus"></i>'

Problém ale není jen na tomto jedom místě. To že máš stejné uvozovky kolem řetězce jako uvnitř je problém který se vyskytuje na více místech. Buď použiješ k označení řetězce jiné znaky jako jsem to udělal já a nebo je potřeba ty vnitřní escapovat.
Drezen
Profil
toto je celí kód

<script type="text/javascript">
$(function() {$.datepicker.setDefaults($.datepicker.regional[$("#lang").val()]);
$("#abc").replaceWith("<input type="text" id="abc" class="form-control">");
$("#abc").datepicker({dateFormat: $("#format_date").val(),
minDate: "+'.$valid_min.'D",
maxDate: "+'.$valid_max.'D",
buttonImageOnly: false,
buttonImage: "",
showOn: "both",
showAnim: "fold",
buttonText: "text"
});
$("#abc").datepicker("setDate", $("#datum").val());});
</script>


<div class="input-group">
<input type="text" id="abc" class="form-control">
<div class="input-group-append">
<span class="input-group-text"><i class="fas fa-plus"></i></span>
</div>
</div>


buttonText: "text" / funguje po kliknutí do inputu i na "text"
buttonText: "<i class="fas fa-plus"></i>" / nefunkčné
buttonText: '<i class="fas fa-plus"></i>' / nefunkčné (nenačíta ani stranku)
buttonText: "<i class='fas fa-plus'></i>" / nefunkčné (nenačíta ani stranku)
buttonText: "<i class="fas fa-plus"></i>" / nefunkčné
buttonImage: "'.CONFIG::$site_link.'images/calendar.png" / keď použijem png ikonu - funguje tiež


chlapi vy máte isto pravdu
ale vtom prípade je chyba niekde inde

neživím sa programovaním ale pri troche logického myslenia by som na to už bol prišiel

no asi som blb - chybu nevidím
Drezen
Profil
dospel som k záveru
podľa rád to nemôže fungovať.

vtomto prípade sa ikona síce zobrazí - ale na BUTTONE (a to sme nechceli)
buttonText: '<i class="fas fa-calendar-alt"></i>
predstavte si ikonu kalendára na buttone / no hrôza


chceli sme dosiahnuť aby ikona <i class="fas fa-calendar-alt"></i>
bola klikatelná (teda žiadne buttony ktoré vyzerajú hrozne)
<div class="input-group">
    <input type="text" id="abc" class="form-control">
    <div class="input-group-append">
        <span class="input-group-text"><i class="fas fa-calendar-alt"></i></span>
    </div>
</div>

ikona awesome mala byť v inpute
po kliknutí na input alebo ikonu sa mal otvoriť kalendár


a to sa nepodarilo

nejaké nápady?
Kajman
Profil
Přestylujte si input nebo buton. Do inputu tagy dávat nejdou.
Drezen
Profil
díky za odpovede.

no ale neuspokojil som sa stou ikono na buttone a tak som hľadal na internete.
vedel som že to nejak musí ísť aj inak.
no a tu jQuery datepicker on click of icon
som našiel čo som hľadal a problém je vyriešený (presne podľa mojich požiadaviek)

stačilo iba toto
$(document).ready(function() {
    $("#datepicker").datepicker();
    $('.fa-calendar-alt').click(function() {
    $("#datepicker").focus();
    });
});


dúfam to niekomu pomôže

pekný deň

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0