επιλογής jQuery για την ετικέτα του πλαισίου ελέγχου

ψήφοι
214
<input type=checkbox name=filter id=comedyclubs/>
<label for=comedyclubs>Comedy Clubs</label>

Αν έχω ένα πλαίσιο ελέγχου με ετικέτα που περιγράφει, πώς μπορώ να επιλέξω την ετικέτα χρησιμοποιώντας jQuery; Θα ήταν ευκολότερο να δώσει η ετικέτα ετικέτα ένα αναγνωριστικό και επιλέξτε ότι η χρήση $(#labelId);

Δημοσιεύθηκε 27/07/2009 στις 05:21
πηγή χρήστη
Σε άλλες γλώσσες...                            


5 απαντήσεις

ψήφοι
390

Αυτό θα πρέπει να εργαστεί:

$("label[for='comedyclubs']")

Δείτε επίσης: Επιλογείς / attributeEquals - την Javascript Βιβλιοθήκη jQuery

Απαντήθηκε 27/07/2009 στις 05:23
πηγή χρήστη

ψήφοι
41

Αυτό πρέπει να το κάνουμε:

$("label[for=comedyclubs]")

Αν έχετε μη αλφαριθμητικών χαρακτήρων στο id σας, τότε θα πρέπει να περιβάλλουν την τιμή attr με αποσπάσματα:

$("label[for='comedy-clubs']")
Απαντήθηκε 27/07/2009 στις 05:23
πηγή χρήστη

ψήφοι
5

Μια άλλη λύση θα μπορούσε να είναι:

$("#comedyclubs").next()
Απαντήθηκε 02/02/2011 στις 11:23
πηγή χρήστη

ψήφοι
63
$("label[for='"+$(this).attr("id")+"']");

Αυτό θα επιτρέψει σε σας για να επιλέξετε τις ετικέτες για όλα τα πεδία σε ένα βρόχο, καθώς και. Το μόνο που χρειάζεται για να εξασφαλίσει ότι οι ετικέτες σας θα πρέπει να πει for='FIELD'πού FIELDείναι η ταυτότητα του τομέα για τον οποίο ορίζεται η ετικέτα.

Απαντήθηκε 03/08/2012 στις 08:08
πηγή χρήστη

ψήφοι
0

Ευχαριστώ Kip, για εκείνους που μπορεί να ψάχνει για την επίτευξη των ίδιων χρησιμοποιώντας $ (αυτό), ενώ την επανάληψη ή τη συμμετοχή σε μια συνάρτηση:

$("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );

Κοίταξα για μια στιγμή, ενώ εργάζονται αυτό το έργο, αλλά δεν μπορούσε να βρει ένα καλό παράδειγμα τόσο Ελπίζω ότι αυτό βοηθά τους άλλους που μπορεί να ψάχνει για την επίλυση το ίδιο θέμα.

Στο παραπάνω παράδειγμα, ο στόχος μου ήταν να κρύψει το ραδιόφωνο εισόδους και το στυλ των ετικετών για να παρέχουν μια πιο λεία εμπειρία του χρήστη (αλλάζοντας τον προσανατολισμό του διαγράμματος ροής).

Μπορείτε να δείτε ένα παράδειγμα εδώ

Αν σας αρέσει το παράδειγμα, εδώ είναι το CSS:

.orientation {      position: absolute; top: -9999px;   left: -9999px;}
    .orienlabel{background:#1a97d4 url('http://www.ifreight.solutions/process.html/images/icons/flowChart.png') no-repeat 2px 5px; background-size: 40px auto;color:#fff; width:50px;height:50px;display:inline-block; border-radius:50%;color:transparent;cursor:pointer;}
    .orR{   background-position: 9px -57px;}
    .orT{   background-position: 2px -120px;}
    .orB{   background-position: 6px -177px;}

    .orienSel {background-color:#323232;}

και το σχετικό μέρος του JavaScript:

function changeHandler() {
    $(".orienSel").removeClass( "orienSel" );
    if(this.checked) {
        $("label[for="+$(this).attr("id")+"]").addClass( "orienSel" );
    }
};

Μια εναλλακτική ρίζα στο αρχικό ερώτημα, με δεδομένη την ετικέτα ακολουθεί την είσοδο, θα μπορούσατε να πάτε με μια καθαρή λύση CSS και να αποφεύγουν τη χρήση JavaScript εντελώς ...:

input[type=checkbox]:checked+label {}
Απαντήθηκε 05/03/2017 στις 09:50
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more