2010-03-18 16 views
25

मैं लटकती menu..which गतिशील है .. कि ड्रॉप में अंतिम आइटम का मूल्य नीचे प्राप्त कर सकते हैं कैसे (jQuery का उपयोग कर भी स्वीकार्य है)एक ड्रॉप डाउन के अंतिम विकल्प का मूल्य प्राप्त करें?

+2

"ड्रॉप डाउन मेनू" से आपका क्या मतलब है? क्या आप ड्रॉप डाउन मेनू प्रभाव बनाने के लिए जावास्क्रिप्ट का उपयोग कर रहे हैं? यदि हां, तो क्या आप कृपया हमें बता सकते हैं कि आप किस स्क्रिप्ट का उपयोग कर रहे हैं। –

+0

+1 - मैं पूरी तरह से आपसे सहमत हूं @ टोबियास कोहेन: "आपने क्या प्रयास किया? आपको क्या मिला? आपको क्या उम्मीद थी?" –

उत्तर

59

jQuery के साथ यह सुपर आसान है:

var lastValue = $('#idOfSelect option:last-child').val(); 
सादे जावास्क्रिप्ट के साथ

यह भी बदतर नहीं है:

var theSelect = document.getElementById('idOfSelect'); 
var lastValue = theSelect.options[theSelect.options.length - 1].value; 
+3

+1 "कवर के तहत" जावास्क्रिप्ट को संदर्भित करने के लिए – Robusto

8
jQuery के साथ

:

$('select option:last').val() 
बेशक

आपको चाहिए select तत्व को संबोधित करने के लिए उचित आईडी का उपयोग करें।

आप "मेनू" यह एक सूची के संदर्भ मतलब, तो आप इसे इसी तरह कर सकते हैं:

// gives the text inside the last <li> element 
$('#menu li:last').text() 

// gives you the attribute 'some_attribute' of the last <li> element 
$('#menu li:last').attr('some_attribute') 

कुंजी यहाँ :last चयनकर्ता का उपयोग करने के लिए है।

+0

$ ('चयन विकल्प: अंतिम')। वैल() यह काम नहीं कर रहा है ... पॉइंट द्वारा दिए गए उत्तर काम कर रहे हैं .. var lastValue = $ ('# idOf चयन विकल्प: अंतिम-बच्चा')। Val() ; क्या आप समझ सकते हैं कि आपका कोड क्यों काम नहीं कर रहा है ... आपके कोड के मामले में मुझे अपरिभाषित होने के मामले में .. –

+0

@piemesons: पता नहीं, मेरे लिए काम करता है ... लेकिन मुझे एहसास है कि 'आखिरी- बच्चा वास्तव में बेहतर हो सकता है। –

3

एक और इस

$('select option').last().val() 

या सूची

के लिए ऐसा करने का तरीका
$('ul li').last().text() 

जबकि ऊपर दिए गए 2 सुझाव पूरी तरह मान्य हैं, मुझे लगता है कि यह दृष्टिकोण चयनकर्ता को संशोधित करने से क्लीनर है।

अगर आप विशेष मेनू/सूची को लक्षित करना चाहते हैं तो आपको विशिष्ट चयन/उल के आईडी/वर्ग को जोड़ना चाहिए।

+1

यह सभी तत्वों का चयन करेगा, फिर अंतिम तत्व वाली एक और सूची बनाएं - इसलिए चयनकर्ता का हिस्सा अंतिम रूप से अधिक कुशल है। –

+0

@JamesWestgate मेरा सुझाव psuedo चयनकर्ता से बचने के लिए बनाया गया था: आखिरी बच्चा ये धीमे हैं। इसके अलावा मैंने विशिष्ट मेनू/सूची को लक्षित करने के लिए आईडी/कक्षा का उपयोग करने का सुझाव दिया है, यदि वह लक्ष्य है। धन्यवाद। –

+0

: आखिरी बच्चा एक सीएसएस 3 चयनकर्ता है, तो यह बेहतर चयन करने वाला होगा कि इसे एक चयनकर्ता में रखा जाए? यह सीधे QuerySelectorAll पर पारित हो जाएगा और ब्राउज़र दो अलग-अलग प्रश्नों और तत्वों की सूचियां बनाने के बजाय इसके साथ सौदा करेगा ... –

0

चयनित विशेषता का उपयोग करना।

$('#SelectName option:last-child').attr('selected', 'selected'); 
0

$('#id_of_select option:last-of-type').click();

या

$('#id_of_select option:last-child').click();

इन दोनों खोजने के लिए और किसी भी गतिशील ड्रॉप-डाउन सूची पर अंतिम विकल्प पर क्लिक करना चाहिए।

संबंधित मुद्दे