यह देखते हुए कि HTML डिटॉलिस्ट टैग अभी भी पूरी तरह से समर्थित नहीं है, एक वैकल्पिक दृष्टिकोण जो मैंने उपयोग किया है वह है Dojo Toolkit ComboBox । इसे लागू करना आसान था और मेरे द्वारा खोजे गए अन्य विकल्पों की तुलना में बेहतर प्रलेखित। यह मौजूदा रूपरेखाओं के साथ अच्छी तरह से खेलता है। मेरे मामले में, मैंने इस कॉम्बोक्स को एक मौजूदा वेबसाइट पर जोड़ा, जो कोडिग्निटर और बूटस्ट्रैप पर आधारित है, जिसमें कोई समस्या नहीं है। आपको बॉडी टैग के बजाय कॉम्बो के पेरेंट एलिमेंट के लिए डोजो थीम (जैसे क्लास = "क्लारो") को लागू करना सुनिश्चित करना होगा। स्टाइल संघर्ष से बचने के लिए।
सबसे पहले, Dojo विषयों में से एक के लिए CSS (जैसे 'क्लारो') शामिल करें। यह महत्वपूर्ण है कि नीचे दिए गए जेएस फाइलों से पहले सीएसएस फाइल शामिल है।
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/dojo/1.9.6/dijit/themes/claro/claro.css" />
अगला, CDN के माध्यम से jQuery और Dojo टूलकिट शामिल करें
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/dojo/1.10.3/dojo/dojo.js"></script>
अगला, आप बस Dojo के सैंपल कोड का पालन कर सकते हैं या काम कर रहे कॉम्बोक्स प्राप्त करने के लिए नीचे दिए गए सैंपल का उपयोग कर सकते हैं।
<body>
<div class="claro"><input id="item_name_1" class=""/></div>
<script type="text/javascript">
$(document).ready(function () {
dataStore = [{"id":"43","name":"Domain Name Renewal"},{"id":"42","name":"Hosting Renewal"}];
require(
[ "dojo/store/Memory", "dijit/form/ComboBox", "dojo/domReady!"],
function (Memory, ComboBox) {
var stateStore = new Memory({
data: dataStore
});
var combo = new ComboBox({
id: "item_name_1",
name: "desc_1",
store: stateStore,
searchAttr: "name"},
"item_name_1"
).startup();
});
});
</script>
</body>
<select>
तत्व ऐसा नहीं कर सकता।