मैं Select2 4.0 का उपयोग कर रहा हूं। मेरे पास विकल्पों की एक सूची है, जिनमें से कुछ "हटाए गए" हैं और मैं संकेत देना चाहता हूं कि कौन से हैं। जिसके परिणामस्वरूप HTML कोड Select2 उत्पन्न करता है कि मैं उस वर्ग को संदर्भित करने के लिए किसी भी तरह नहीं दिख रहा है पर,<option> को चुनने के लिए कैसे गुण 2?
<script src="/static/js/select2.min.js"></script>
<script>
$(function() {
$("#item-list").select2({
placeholder: 'Select item'
});
});
</script>
हालांकि: मेरा चयन तत्व इस तरह है:
<style>.deleted { color: red; }</style>
<select name="itemid" id="item-list" tabindex="1">
<option></option>
<option value="1">Item 1</option>
<option value="2" class="deleted">Item 2</option>
<option value="3">Item 3</option>
</select>
और यह इस तरह initialised है। बिना किसी किस्मत के विकल्प पर data-deleted
विशेषता का भी प्रयास किया।
एकमात्र चीज जो मैं देखता हूं वह करीब आता है templateResult
विकल्प, जहां मैं opt.element.className
की जांच कर सकता हूं। लेकिन मैं नहीं देख सकता कि वहां से select2 विकल्प का उपयोग कैसे करें। वैसे भी कॉलबैक प्रत्येक एकल खोज पर चलता है जो कि मैं जो चाहता हूं वह बिल्कुल नहीं है।
क्या चयन 2 में विशिष्ट विकल्पों को स्टाइल करने का कोई और तरीका है?
अद्यतन: के रूप में टिप्पणी में उल्लेख किया वहाँ एक find()
समारोह है, लेकिन यह केवल मूल <option>
तत्वों, नहीं <li>
तत्वों कि Select2 उत्पन्न हो जाता है। यहाँ मैं क्या करने की कोशिश की है:
var sel2 = $("#item-list").select2({
placeholder: 'Select item'
});
sel2.find('.deleted').each(function() {
$(this).css('color', 'red');
});
@isherwood आपका क्या मतलब है, डेटा क्या है? – DisgruntledGoat
एचटीएमएल सर्वर-साइड जेनरेट किया गया है, इसलिए पेज प्रश्न में मेरे कोड की तरह है। – DisgruntledGoat
उस स्थिति में, ऐसा लगता है कि आप 'find()' का उपयोग कर विशेषताओं को प्राप्त कर सकते हैं: http://stackoverflow.com/questions/22261209/get-custom-data-attribute-in-select2-with-select/22261210#22261210 – isherwood