แน่นอน - สร้าง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/>
องค์ประกอบแทนที่จะสร้างมันขึ้นมา?