Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Cambiare testo span dentro button coin jquery

    ciao!

    io ho questo codice html autogenerato da un plugin:
    codice:
    <button class="btn btn-default btn-mobileSelect-gen"><span class="text">0 items selected</span> <span class="caret"></span></button>
    avrei la necessità di cambiare il testo dello span con classe text.
    ho provato in vari modi.
    questo l'ultimo tentativo che ho fatto:
    codice:
    $(document).ready(function () {
        $('.btn-mobileSelect-gen span .text').html('Nessun elemento selezionato');
    });

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,294
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ciao!

    io ho questo codice html autogenerato da un plugin:
    codice:
    <button class="btn btn-default btn-mobileSelect-gen"><span class="text">0 items selected</span> <span class="caret"></span></button>
    avrei la necessità di cambiare il testo dello span con classe text.
    ho provato in vari modi.
    questo l'ultimo tentativo che ho fatto:
    codice:
    $(document).ready(function () {
        $('.btn-mobileSelect-gen span .text').html('Nessun elemento selezionato');
    });
    ciao ,
    togli lo span

    codice:
    $(document).ready(function () {
        $('.btn-mobileSelect-gen  .text').html('Nessun elemento selezionato');
    });
    il motivo che tu scrivevi span | spazio | .text. Quindi jQuery si aspetta un elemento all'interno di span con classe text.

    La soluzione è riferirsi direttamente alla classe o, qualora la classe sia applicata anche ad elementi non span,

    codice:
    span.text
    Ultima modifica di ciro78; 18-07-2020 a 10:19
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    ciao!

    avevo provato anche cosi, ma non ha funzionato.
    poi ho fatto banalmente questo test:
    codice:
     setTimeout(function () {
                if ($(".btn-mobileSelect-gen").length) {
                    $('.btn-mobileSelect-gen').attr('type', 'button');
                    $('.btn-mobileSelect-gen .text').html('Nessun elemento selezionato');
                    console.log('ok');
                } else {
                    console.log('ko');
                }
            }, 100);
    e funziona.
    forse quel componente, creato da un plugin, viene creato "tardi" rispetto al document ready?
    non mi fa impazziare come soluzione, me sennò non c'è verso.
    anche per l'aggiunta dell'attributo al bottone.

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,294
    non hai mai parlato di componenti. chiaro che potrebbe non funzionare se entrambi (creazione e modifica) sono nel ready. a quel punto se lo script che modifica il testo è caricato prima del componente devi per forza pollare.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Quote Originariamente inviata da ciro78 Visualizza il messaggio
    non hai mai parlato di componenti. chiaro che potrebbe non funzionare se entrambi (creazione e modifica) sono nel ready. a quel punto se lo script che modifica il testo è caricato prima del componente devi per forza pollare.

    ciao!
    si confermo che il problema è come viene inizializzato quel componente.
    mi è bastato mettere un timeout con ritardo 100 per risolvere.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.