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
![]()
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
Io la prima sintassi su jquery http://api.jquery.com/filter/ non la trovo![]()
Cavicchi Andrea
Problemi con javascript, jquery, ajax clicca qui
ciao.
Tutto è nato da questa discussione:
http://forum.html.it/forum/showthrea...readid=1512416
Guardando il codice del plugin ho trovato questa istruzione
quando i checkbox sono almeno due funziona, ma non va quando è uno solocodice:var o = this.options, $inputs = this.labels.find('input'), $checked = $inputs.filter('[checked]'), numChecked = $checked.length, value;![]()
Questo è un codice di prova che conferma
ciaocodice:<%@ 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>![]()
Pietro
Non so che dirti, dovresti saperlo che sono vietati i cross-post![]()
Cavicchi Andrea
Problemi con javascript, jquery, ajax clicca qui
Ciao,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
![]()
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
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
allora, se ho un solo checkbox e lo seleziono, la sintassicodice:<!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>
filter("[checked]");
funziona solo con IE9 modalità compatibilità e Opera; non va con Firefox e Chrome.
L'altra sintassi va con tutti![]()
![]()
Pietro