Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    [jquery] filtrare la selezione

    date le mie scarse conoscenze di jquery chiedo la differenza tra

    oggetto.filter("[checked]");

    e

    oggetto.filter(":checked");

    dove oggetto è un oggetto jquery di checkbox

    Pietro

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Io la prima sintassi su jquery http://api.jquery.com/filter/ non la trovo
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    ciao.

    Tutto è nato da questa discussione:

    http://forum.html.it/forum/showthrea...readid=1512416

    Guardando il codice del plugin ho trovato questa istruzione

    codice:
    var o = this.options,
    $inputs = this.labels.find('input'),
    $checked = $inputs.filter('[checked]'),
    numChecked = $checked.length,
    value;
    quando i checkbox sono almeno due funziona, ma non va quando è uno solo

    Questo è un codice di prova che conferma
    codice:
    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="a.aspx.vb" Inherits="prove_a" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script src="../js/jquery/jquery-min.js" type="text/javascript"></script>
    
        <script type="text/javascript">
    // <![CDATA[
    
    function Button1_onclick()
    {
        var x = $("#div1 input");
        //var y = x.filter(":checked");
        var y = x.filter("[checked]");
        alert(y.length);
    
    }
    
    // ]]>
    </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div id="div1">
            <input name="Checkbox1" type="checkbox" />
            
            <input name="Checkbox1" type="checkbox" />
            <input name="Checkbox1" type="checkbox" />
            
        </div>
        
    
        <input id="Button1" type="button" value="button" onclick="return Button1_onclick()" />
        </form>
    </body>
    </html>
    ciao
    Pietro

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non so che dirti, dovresti saperlo che sono vietati i cross-post
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771

    Re: [jquery] filtrare la selezione

    Originariamente inviato da pietro09
    date le mie scarse conoscenze di jquery chiedo la differenza tra

    oggetto.filter("[checked]");

    e

    oggetto.filter(":checked");

    dove oggetto è un oggetto jquery di checkbox

    Ciao,
    se si tratta di crossposting, probabilmente una delle due discussioni verrà chiusa ma a me pare siano due argomenti differenti o comunque non necessariamente correlati perciò rispondo su quanto chiedi qui.

    Premetto che non ho esperienza in questo caso specifico ma riporto quanto indica la guida.

    Il selettore "[checked]" è un selettore secondo un attributo ("[attribute]") e restituisce una selezione di elementi che posseggono l'attributo indicato (nel tuo caso, l'attributo checked) il quale può avere un qualsiasi valore.
    http://api.jquery.com/has-attribute-selector/

    Mentre il selettore ":checked" restituisce una selezione di elementi (checkbox e bottoni radio) che siano, appunto, "checkati", a prescindere dal fatto che posseggano o meno l'attributo "checked" (anche se si presuppone ci sia e abbia valore "checked").
    http://api.jquery.com/checked-selector/

    Non ho testato personalmente ma questo è quanto si capisce dalla guida (perlomeno quanto ho potuto capire io).
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ribadendo che non è crossposting (assolutissimamente super vietato ) chiedo se hai provato a collaudare il codice che ho proposto. A me, il codice

    var y = x.filter("[checked]");
    funziona solo se si hanno almeno due checkbox.

    Forse è la versione di jquery che uso o forse utilizzo male jquery

    Pietro

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script src="../../../js/jquery/jquery-min.js" type="text/javascript"></script>
    
    <script type="text/javascript">
    // <![CDATA[
    
    function Button1_onclick()
    {
        var x = $("#div1 input");
        var y = x.filter("[checked]");
        alert(y.length);
    
    }
    
    function Button2_onclick()
    {
        var x = $("#div1 input");
        var y = x.filter(":checked");
        alert(y.length);
    
    }
    
    
    // ]]>
    </script>
    </head>
    <body>
        <div id="div1">
            <input name="Checkbox1" type="checkbox" />
            <!--
            <input name="Checkbox1" type="checkbox" />
            <input name="Checkbox1" type="checkbox" />
            -->
        </div>
        
    
        <input id="Button1" type="button" value="button" onclick="return Button1_onclick()" />
        <input id="Button2" type="button" value="button" onclick="return Button2_onclick()" />
    </body>
    </html>
    allora, se ho un solo checkbox e lo seleziono, la sintassi
    filter("[checked]");
    funziona solo con IE9 modalità compatibilità e Opera; non va con Firefox e Chrome.
    L'altra sintassi va con tutti
    Pietro

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