आप चेकबॉक्स को चुनिंदा तत्व के अंदर नहीं रख सकते हैं, लेकिन आप HTML, CSS और जावास्क्रिप्ट का उपयोग करके समान कार्यक्षमता प्राप्त कर सकते हैं। यहाँ एक संभव कार्य समाधान है। व्याख्या इस प्रकार है।
कोड:
var expanded = false;
function showCheckboxes() {
var checkboxes = document.getElementById("checkboxes");
if (!expanded) {
checkboxes.style.display = "block";
expanded = true;
} else {
checkboxes.style.display = "none";
expanded = false;
}
}
.multiselect {
width: 200px;
}
.selectBox {
position: relative;
}
.selectBox select {
width: 100%;
font-weight: bold;
}
.overSelect {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
#checkboxes {
display: none;
border: 1px #dadada solid;
}
#checkboxes label {
display: block;
}
#checkboxes label:hover {
background-color: #1e90ff;
}
<form>
<div class="multiselect">
<div class="selectBox" onclick="showCheckboxes()">
<select>
<option>Select an option</option>
</select>
<div class="overSelect"></div>
</div>
<div id="checkboxes">
<label for="one">
<input type="checkbox" id="one" />First checkbox</label>
<label for="two">
<input type="checkbox" id="two" />Second checkbox</label>
<label for="three">
<input type="checkbox" id="three" />Third checkbox</label>
</div>
</div>
</form>
स्पष्टीकरण:
सबसे पहले हम एक चुनिंदा तत्व बनाते हैं जो टेक्स्ट "एक विकल्प का चयन करें" दिखाता है, और खाली तत्व जो चयन तत्व को कवर (ओवरलैप करता है) करता है (<div class="overSelect">
) )। हम नहीं चाहते कि उपयोगकर्ता चयन तत्व पर क्लिक करें - यह एक खाली विकल्प दिखाएगा। अन्य तत्व के साथ तत्व को ओवरलैप करने के लिए हम मूल्य सापेक्ष के साथ सीएसएस स्थिति संपत्ति का उपयोग करते हैं | पूर्ण।
कार्यक्षमता जोड़ने के लिए हम एक जावास्क्रिप्ट फ़ंक्शन निर्दिष्ट करते हैं जिसे तब कहा जाता है जब उपयोगकर्ता उस div पर क्लिक करता है जिसमें हमारा चयन तत्व ( <div class="selectBox" onclick="showCheckboxes()">
) होता है।
हम अपने चेकबॉक्स भी बनाते हैं और सीएसएस का उपयोग करके इसे बनाते हैं। उपर्युक्त जावास्क्रिप्ट फ़ंक्शन केवल <div id="checkboxes">
सीएसएस प्रदर्शन संपत्ति के मूल्य को "कोई नहीं" से "ब्लॉक" और इसके विपरीत बदल देता है।
समाधान का परीक्षण निम्न ब्राउज़रों में किया गया: इंटरनेट एक्सप्लोरर 10, फ़ायरफ़ॉक्स 34, क्रोम 39। ब्राउज़र को जावास्क्रिप्ट सक्षम होना चाहिए।
अधिक जानकारी:
सीएसएस स्थिति
एक div को दूसरे div पर ओवरले कैसे करें
http://www.w3schools.com/css/css_positioning.asp
सीएसएस प्रदर्शन संपत्ति
http://www.w3schools.com/cssref/pr_class_display.asp