एक चेकबॉक्स का लेबल के लिए 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 - jQuery जावास्क्रिप्ट पुस्तकालय

27/07/2009 को 05:23
का स्रोत उपयोगकर्ता

वोट
41

यह यह करना चाहिए:

$("label[for=comedyclubs]")

आप अपनी आईडी में गैर अक्षरांकीय अक्षर है तो आप उद्धरण के साथ 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

धन्यवाद किप, जो एक ही का उपयोग कर $ (this) पुनरावृत्ति या एक समारोह के भीतर जोड़ जबकि प्राप्त करने के लिए देख जा सकता है उन लोगों के लिए:

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

मैं इस परियोजना में काम कर रहे, जबकि कुछ समय के लिए देखा है, लेकिन एक अच्छा उदाहरण नहीं मिल सकता है तो मैं आशा है कि यह अन्य लोगों से इस मुद्दे को हल करने के लिए देख जा सकता है में मदद करता है।

उपरोक्त उदाहरण में, मेरे उद्देश्य रेडियो आदानों छिपाने के लिए और लेबल शैली एक बरसाती कोट उपयोगकर्ता अनुभव (प्रवाह संचित्र के उन्मुखीकरण को बदलने) प्रदान करने के लिए किया गया था।

आप कर सकते हैं एक उदाहरण देख

आप उदाहरण पसंद है, तो यहाँ सीएसएस है:

.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;}

और जावास्क्रिप्ट के प्रासंगिक भाग:

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

मूल प्रश्न के लिए एक वैकल्पिक रूट, लेबल दिए गए इनपुट इस प्रकार है, आप एक शुद्ध सीएसएस समाधान के साथ जाने के लिए और पूरी तरह जावास्क्रिप्ट का उपयोग करने से बचने सकता है ...:

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