আপনি একটি সাধারণ forলুপ দিয়ে এটি অর্জন করতে পারেন :
var min = 12,
max = 100,
select = document.getElementById('selectElementId');
for (var i = min; i<=max; i++){
var opt = document.createElement('option');
opt.value = i;
opt.innerHTML = i;
select.appendChild(opt);
}
জেএস ফিডল ডেমো ।
জেএস আমার এবং সিম বিদাসের উভয়ের জবাবের পারফেক্ট তুলনা , চালান কারণ আমি ভেবেছিলাম যে আমার চেয়ে তার চেয়ে খানিকটা বেশি বোধগম্য / স্বজ্ঞাত এবং আমি ভাবলাম যে কীভাবে এটি বাস্তবায়নে অনুবাদিত হবে। ক্রোমিয়াম 14 / উবুন্টু 11.04 অনুসারে খনিটি কিছুটা দ্রুত, অন্য ব্রাউজারগুলি / প্ল্যাটফর্মগুলিতে ভিন্ন ভিন্ন ফলাফল হওয়ার সম্ভাবনা রয়েছে।
ওপির মন্তব্যের জবাবে সম্পাদিত :
[আমি] কীভাবে [আমি] এটি একাধিক উপাদানকে প্রয়োগ করব?
function populateSelect(target, min, max){
if (!target){
return false;
}
else {
var min = min || 0,
max = max || min + 100;
select = document.getElementById(target);
for (var i = min; i<=max; i++){
var opt = document.createElement('option');
opt.value = i;
opt.innerHTML = i;
select.appendChild(opt);
}
}
}
// calling the function with all three values:
populateSelect('selectElementId',12,100);
// calling the function with only the 'id' ('min' and 'max' are set to defaults):
populateSelect('anotherSelect');
// calling the function with the 'id' and the 'min' (the 'max' is set to default):
populateSelect('moreSelects', 50);
জেএস ফিডল ডেমো ।
এবং, অবশেষে (বেশ বিলম্বের পরে ...), ডিওএম নোডে একটি পদ্ধতি হিসাবে ফাংশনটিকে HTMLSelectElementশৃঙ্খলাবদ্ধ করার জন্য প্রোটোটাইপটি প্রসারিত করার populate()একটি পদ্ধতি:
HTMLSelectElement.prototype.populate = function (opts) {
var settings = {};
settings.min = 0;
settings.max = settings.min + 100;
for (var userOpt in opts) {
if (opts.hasOwnProperty(userOpt)) {
settings[userOpt] = opts[userOpt];
}
}
for (var i = settings.min; i <= settings.max; i++) {
this.appendChild(new Option(i, i));
}
};
document.getElementById('selectElementId').populate({
'min': 12,
'max': 40
});
জেএস ফিডল ডেমো ।
তথ্যসূত্র: