แน่นอน - สร้างoptionsอาร์เรย์ของสตริงและใช้.join('')แทน+=การวนซ้ำทุกครั้ง ชนเล็กน้อยประสิทธิภาพเมื่อจัดการกับตัวเลือกจำนวนมาก ...
var options = [];
$.getJSON("/Admin/GetFolderList/", function(result) {
for (var i = 0; i < result.length; i++) {
options.push('<option value="',
result[i].ImageFolderID, '">',
result[i].Name, '</option>');
}
$("#theSelect").html(options.join(''));
});
ใช่. ฉันยังคงทำงานกับสายอักขระตลอดเวลา เชื่อหรือไม่ว่าเป็นวิธีที่เร็วที่สุดในการสร้างชิ้นส่วน DOM ... ตอนนี้ถ้าคุณมีตัวเลือกเพียงไม่กี่ตัวมันจะไม่สำคัญจริงๆ - ใช้เทคนิคDreas สาธิตถ้าคุณชอบสไตล์ แต่โปรดจำไว้ว่าคุณกำลังเรียกใช้ตัวแยกวิเคราะห์ HTML ภายในของเบราว์เซอร์i*2มากกว่าหนึ่งครั้งและแก้ไข DOM แต่ละครั้งผ่านลูป ... ด้วยตัวเลือกที่เพียงพอ คุณจะต้องชำระเงินโดยเฉพาะกับเบราว์เซอร์รุ่นเก่า
หมายเหตุ:เมื่อความยุติธรรมชี้ให้เห็นสิ่งนี้จะแยกออกจากกันหากImageFolderIDและเข้ารหัสNameไม่ถูกต้อง ...
<option/>องค์ประกอบแทนที่จะสร้างมันขึ้นมา?