Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,610

    evento click j query chiamato due volte

    salve nel codice ho questo evento


    $(".servizioLibero").click(
    function(){
    //alert('ok');
    if ($('.servizioLibero').css('color') != 'red')
    {
    $('.servizioLibero').css('color','red');
    var t = $('#servizi').val();
    var tserv = $('.servizioLibero').text();
    tfinale = t + tserv;
    $('#servizi').val(tfinale);
    }
    else
    if ($('.servizioLibero').css('color') == 'red')
    {
    $('.servizioLibero').css('color','black');
    var t = $('#servizi').val();
    var tserv = $('.servizioLibero').text();
    var tfinal = t.replace(tserv,'');
    $('#servizi').val(tfinale);
    }


    //alert($('#servizi').attr('value'));
    //alert($(".servizioLibero").text());
    });

    });


    che devo chiamare quando clicco su un tag li

    <ul id="elencoServizi">
    <li class='servizioLibero'>testo[/list]

    la prima volta che clicco sopra il tag li e questo è nero deve diventare rosso e aggiungere il testo ad un tag input

    la seconda volta se il tag li è rosso tolgo il testo dal tag input e faccio nero il tag li

    solo sembra nn funzionare sembra chiamare l'evento due volte nn capisco perchè
    R.

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,610
    "UP" nessun aiuto ?
    R.

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    probabilmente sbaglia qui
    if ($('.servizioLibero').css('color') != 'red')

    specialmente quando si tratta di colori, quello che rileggi difficilmente e' identico a quello che hai settato, il tuo red in lettura puo' diventare #ff0000, #f00, rgb(255,0,0)
    quindi diverso da "red" e quello che diventa dipende dal browser

    aggiungi una classe e verifica che quell' elemento abbia anche quella classe,
    oppure, se temi di confonderti assegnando piu' classi, salva un valore nel "data" di quell' elemento
    http://api.jquery.com/jQuery.data/
    http://api.jquery.com/data/

    ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,610
    ma sai nn è tanto il colore se metto solo la prima parte di codice lo colora bene
    per nel campo input il testo cliccato lo mette due volte sembra proprio che la chiami due volte
    ma da codice nn è cosi nn capisco
    R.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,610
    Originariamente inviato da Xinod
    probabilmente sbaglia qui
    if ($('.servizioLibero').css('color') != 'red')

    specialmente quando si tratta di colori, quello che rileggi difficilmente e' identico a quello che hai settato, il tuo red in lettura puo' diventare #ff0000, #f00, rgb(255,0,0)
    quindi diverso da "red" e quello che diventa dipende dal browser

    aggiungi una classe e verifica che quell' elemento abbia anche quella classe,
    oppure, se temi di confonderti assegnando piu' classi, salva un valore nel "data" di quell' elemento
    http://api.jquery.com/jQuery.data/
    http://api.jquery.com/data/

    ciao
    ho modificato il codice cosi

    edit
    ho risistemato il codice ma il problema rimane
    ----

    $('.servizioLibero').click(
    function(){
    alert($('.servizioLibero').data('attivo'));

    if ($('.servizioLibero').data('attivo') == undefined)
    {
    $('.servizioLibero').css('color','red');
    var t = $('#servizi').val();
    var tserv = $('.servizioLibero').text();
    tfinale = t + tserv;
    $('#servizi').val(tfinale);
    dataval = 'si';
    }
    else
    if ($('.servizioLibero').data('attivo') == 'si')
    {
    $('.servizioLibero').css('color','black');
    var t = $('#servizi').val();
    var tserv = $('.servizioLibero').text();
    var tfinal = t.replace(tserv,'');
    $('#servizi').val(tfinale);
    dataval = undefined;

    }

    $('.servizioLibero').data('attivo',dataval);
    alert($('.servizioLibero').data('attivo'));

    });

    ma cn un click l'alert viene mostrato 4 volte nn capisco
    R.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,610
    risolto avevo messo nella pagina due volte il codice
    R.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.