javascript - jquery download




jQuery विशिष्ट विकल्प टैग पाठ मिलता है (13)

ठीक है, कहो मेरे पास यह है:

<select id='list'>
    <option value='1'>Option A</option>
    <option value='2'>Option B</option>
    <option value='3'>Option C</option>
</select>

जब मैं मूल्य '2' प्राप्त करता हूं तो मैं "विकल्प बी" प्राप्त करना चाहता हूं तो चयनकर्ता कैसा दिखता है?

कृपया ध्यान दें कि यह नहीं चुना गया है कि चयनित टेक्स्ट मान कैसे प्राप्त करें, लेकिन मूल्य विशेषता के आधार पर उनमें से कोई भी, चाहे चयनित है या नहीं। मैंने कोशिश की:

$("#list[value='2']").text();

लेकिन यह काम नहीं कर रहा है।


  1. यदि पृष्ठ पर केवल एक ही चयन टैग है तो आप आईडी 'सूची' के अंदर चयन निर्दिष्ट कर सकते हैं

    jQuery("select option[value=2]").text();
    
  2. चयनित पाठ प्राप्त करने के लिए

    jQuery("select option:selected").text();
    

आप फ़ंक्शन .text(); का उपयोग करके चयनित विकल्प टेक्स्ट प्राप्त कर सकते हैं .text();

आप इस तरह के फ़ंक्शन को कॉल कर सकते हैं:

jQuery("select option:selected").text();

एक .each (function () ...) के साथ गतिशील रूप से बनाए गए चुनिंदा तत्वों के माध्यम से "लूपिंग" करते समय: $("option:selected").text(); और $(this + " option:selected").text() ने चयनित विकल्प टेक्स्ट वापस नहीं किया - इसके बजाय यह शून्य था।

लेकिन पीटर मोर्टेंसन के समाधान ने काम किया:

$(this).find("option:selected").text();

मुझे नहीं पता कि क्यों सामान्य तरीका एक .each() (शायद मेरी अपनी गलती) में सफल नहीं होता है, लेकिन धन्यवाद, पीटर। मुझे पता है कि मूल सवाल नहीं था, लेकिन इसका उल्लेख है "Google के माध्यम से आने वाले नए लोगों के लिए।"

मैं $('#list option:selected").each() को छोड़कर मुझे चुनिंदा तत्व से सामान लेने की आवश्यकता होती है।


एक युक्ति: यदि आपका मान गतिशील है तो आप नीचे कोड का उपयोग कर सकते हैं:

$("#list option[value='"+aDynamicValue+"']").text();

या (बेहतर शैली)

$("#list option").filter(function() {
     return this.value === aDynamicValue;
}).text();

जैसा कि jQuery में उल्लिखित विशिष्ट विकल्प टैग टेक्स्ट मिलता है और गतिशील गति को मान में रखता है


निम्नलिखित आज़माएं:

$("#list option[value=2]").text();

आपका मूल स्निपेट क्यों काम नहीं कर रहा है इसका कारण यह है कि आपका OPTION टैग आपके SELECT टैग पर बच्चे हैं, जिनमें id list


पाओलो द्वारा पोस्ट किए गए मूल HTML के आधार पर मैं निम्नलिखित के साथ आया था।

$("#list").change(function() {
    alert($(this).find("option:selected").text()+' clicked!');
});

इंटरनेट एक्सप्लोरर और फ़ायरफ़ॉक्स पर काम करने के लिए इसका परीक्षण किया गया है।


मैं आईडी के बजाय आंतरिक क्षेत्र के नाम से वैल प्राप्त करने की तलाश में था और Google से इस पोस्ट में आया था जो मदद करता था लेकिन मुझे जिस समाधान की आवश्यकता नहीं थी, लेकिन मुझे समाधान मिला और यहां यह है:

तो यह किसी को शेयरपॉइंट सूचियों के लिए लंबी आईडी का उपयोग करने के बजाय फ़ील्ड आंतरिक नाम के साथ चयनित मूल्य की तलाश करने में मदद कर सकता है:

var e = $('select[title="IntenalFieldName"] option:selected').text(); 

मैं चयनित लेबल प्राप्त करना चाहता था। यह jQuery 1.5.1 में मेरे लिए काम किया।

$("#list :selected").text();

यदि आप 2 के मान के साथ विकल्प प्राप्त करना चाहते हैं, तो उपयोग करें

$("#list option[value='2']").text();

यदि आप वर्तमान में चुने गए किसी भी विकल्प को प्राप्त करना चाहते हैं, तो इसका उपयोग करें

$("#list option:selected").text();

यह आईडी list तत्व की तलाश में है जिसमें संपत्ति के value 2 के बराबर हैं। आप जो चाहते हैं वह list का option

$("#list option[value='2']").text()

यह मेरे लिए पूरी तरह से काम करता था, मैं MySQL द्वारा जेनरेट किए गए विकल्पों के साथ दो अलग-अलग मान भेजने का एक तरीका ढूंढ रहा था, और निम्नलिखित सामान्य और गतिशील है:

$(this).find("option:selected").text();

जैसा कि एक टिप्पणी में उल्लेख किया गया है। इसके साथ में मैं एक गतिशील फ़ंक्शन बनाने में सक्षम था जो मेरे सभी चयन बॉक्स के साथ काम करता है जिसे मैं दोनों मान, विकल्प मान और टेक्स्ट प्राप्त करना चाहता हूं।

कुछ दिन पहले मैंने देखा कि साइट के 1.6 से 1.9 तक jQuery को अपडेट करते समय मैंने इस कोड का उपयोग किया, यह काम करना बंद कर दिया ... शायद कोड के दूसरे टुकड़े के साथ एक संघर्ष था ... वैसे भी, समाधान से विकल्प को हटाना था ढूंढें () कॉल करें:

$(this).find(":selected").text();

यह मेरा समाधान था ... इसका उपयोग केवल तभी करें जब आपको अपना jQuery अपडेट करने के बाद कोई समस्या हो।


$("#list [value='2']").text();

आईडी चयनकर्ता के बाद एक जगह छोड़ दें।


$(this).children(":selected").text()




jquery-selectors