यहाँ एक jfiddle है: http://jsfiddle.net/qHSWK/247/ और कोड मुझे मिला, लेकिन मूल रूप से यह आईडी द्वारा था। मेरे पास कई ड्रॉप डाउन हैं जिनमें समान सामग्री होगी, इसलिए उन सभी को एक साथ नाम से करना बेहतर होगा। जावास्क्रिप्ट के साथ अच्छा नहीं है, लेकिन मैंने सोचा कि यह इस तरह से काम करेगा। यहाँ क्या गलत है?

<form id="someform">
<select name="year"></select>
</form>

var myselect = document.getElementsByName("year"),
startYear = new Date().getFullYear()
count = 5;

(function(select, val, count) {
 do {
select.add(new Option(val++, count--), null);
} while (count);
})(myselect, startYear, count);

कई ड्रॉप डाउन के साथ फाइनल:

var myselect = document.getElementsByName("year"),
startYear = new Date().getFullYear()
count = 45;

for (var n = 0; n<5;n++){ 
(function(select, val, count) {
do {
select.add(new Option(val--, count--), null);

} while (count);
})(myselect[n], startYear, count);


}
0
Nick C 23 मई 2016, 22:30

2 जवाब

सबसे बढ़िया उत्तर

इसे नीचे दिए गए उदाहरण की तरह कई select तत्वों पर लागू करें।

var myselect = document.querySelectorAll("[name=year],[name=year1],[name=year2]"),
    startYear = new Date().getFullYear(),
    count = 5;
for(i=0;i<myselect.length;i++) {
(function(select, val, count) {
  do {
    select.add(new Option(val++, count--), null);
  } while (count);
})(myselect[i], startYear, count);
}
<form id="someform">
  <select name="year"></select>
  <select name="year1"></select>
  <select name="year2"></select>
</form>
1
Peter Darmis 23 मई 2016, 22:59

GetElementsByName एक नोडलिस्ट देता है, एक भी तत्व नहीं। इसलिए आपको आवश्यक अनुक्रमणिका " [0] " को लूप के अंदर "select" var में जोड़ना होगा। तरह से:

select[0].add(new Option(val++, count--), null);
2
santialur 23 मई 2016, 22:41