2014-09-17 4 views
5

मुझे कई चुनिंदा ड्रॉपडाउन मिल गए हैं, और सभी का पहला मूल्य खाली है (यानी "")। पहला चयन चुनने का सबसे अच्छा तरीका क्या है जिसका मूल्य "" है? मैंjquery - पहला चयन ढूंढने वाला पहला मूल्य चुना गया है?

$j("[id*='user'] option[value='']").first().prop("selected", true); 

जैसी चीजों की कोशिश कर रहा हूं, लेकिन यह इसे मिलान करने वाले बनाम की तलाश कर रहा है।

(सभी आईडी 'उपयोगकर्ता' के साथ शुरू, मैं पहले उपयोगकर्ता का चयन करें कि एक खाली मान है खोजने की जरूरत है ...)

+0

लेकिन यह देखते हुए कि सभी चुनिंदा तत्वों के पास 'डिफ़ॉल्ट चयन' संपत्ति वाला विकल्प है, तो आप पाएंगे कि यह उपयोगकर्ता चयन के बावजूद पहले चयन तत्व को ढूंढने जैसा ही है। –

उत्तर

1

आप [id^=startwithid] यानी jQuery चयनकर्ता के साथ शुरू सभी आईडी शुरू प्राप्त करने के लिए उपयोग करने की आवश्यकता उपयोगकर्ता के साथ, की तरह नीचे

$j("[id^='user']:has(option[value=]:selected)").first(); 
+0

यह विकल्प का ऑब्जेक्ट देगा। तत्व का चयन नहीं करें। –

+0

हाँ सही है, मुझे इसे सही करने दें। –

2

आप कुछ चुनिंदा तत्व चाहते हैं के बाद से :has उपयोग करने के लिए कोड

$j("[id^='user'] option[value=]:selected").first().parent(); 

या सबसे अच्छा तरीका नीचे देखें, तो आप कोशिश कर सकते हैं .has()

$j("[id*='user']").has('option[value=""]:selected').first() 

प्रयास करें

$("[id*='user']").has('option[value=""]:selected').first().css({ 
 
    "color": 'red', 
 
    "border-color": 'green' 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<select id="user-1"> 
 
    <option value="">Select</option> 
 
    <option selected="selected">1</option> 
 
</select> 
 
<select id="user-2"> 
 
    <option value="">Select</option> 
 
    <option selected="selected">1</option> 
 
</select> 
 
<select id="user-3"> 
 
    <option value="">Select</option> 
 
    <option>1</option> 
 
</select> 
 
<select id="user-4"> 
 
    <option value="">Select</option> 
 
    <option>1</option> 
 
</select> 
 
<select id="user-5"> 
 
    <option value="">Select</option> 
 
    <option selected="selected">1</option> 
 
</select>

+0

@aldanux कॉपी पेस्ट गलती ... निश्चित –

+0

+1 हालांकि यह काम करता है, क्रोम में 'select' रंग मेरे लिए नहीं बदलता है (एफएफ में इसका जुर्माना)। ब्राउज़र 'चयन' स्टाइल के साथ असंगत हैं, इसलिए मैं सुझाव दे सकता हूं कि आप सीमा को पुन: स्थापित करने के लिए अपना उदाहरण अपडेट करें (जो * क्रोम में दिखाता है) उदाहरण: '$ (" [id * = 'user'] ")। ('विकल्प [मूल्य = ""]: चयनित')। पहला()। सीएसएस ({'सीमा-रंग': 'लाल', 'रंग': 'लाल'}) ' – Moob

+0

@Moob किया ..... –

0

आप चयनित के रूप में :has का भी उपयोग करेंगे विकल्प मान "" होने का चयन लगता है:

$j("[id*='user']:has(option[value='']:selected)").first(); 

या

$j("[id*='user']:has(option[value='']:selected):eq(0)"); 
संबंधित मुद्दे