나는 몇 개의 선택 목록을 복제하고 DOM의 다른 요소에 추가하기 위해 javascript를 사용하고 있습니다. 이리스트들 중 하나는 29843 옵션과 같이 매우 큽니다. 한 번만 추가하고 연결하는 대신 배열을 사용하는 등 jQuery의 append 메서드의 성능을 향상시키는 데 유용한 팁을 많이 읽었습니다. 아래 코드는 이러한 관행을 위반하지 않는다고 생각하지만 추가 메서드를 호출하면 브라우저 (Chrome 포함)가 중지됩니다.jQuery를 사용하여 많은 선택 옵션 목록 추가
var rows = $('.runRow');
var envOpts = rows[0].children[1].children[0].innerHTML; // contains 3 <option> tags
var sumOpts = rows[0].children[2].children[0].innerHTML; // contains 29843 <option> tags
var newRow = "<span class=\"runRow\">";
newRow += "<span>Run " + (numRuns++) + "</span>";
newRow += "<span><select id=\"Environment" + numRuns + "\" name=\"Environment" + numRuns + "\">";
newRow += envOpts;
newRow += "</select></span>";
newRow += "<span><select id=\"SummaryID" + numRuns + "\" name=\"SummaryID" + numRuns + "\">";
newRow += sumOpts;
newRow += "</select></span>";
newRow += "</span>";
$('#RunsTable').append(newRow);
자바 스크립트를 너무 많이 요청하고 있습니까, 아니면이 작업을 수행 할 수있는 방법이 있습니까?
감사합니다.
세계에서 왜 30k 개의 선택 항목이있는 선택 상자가 있습니까? 사용자가 어떻게 당신을 살해하지 않았습니까? –
실제로 선택을 재구성하고 실제로 복제하는 중입니까? – Patricia
동의합니다. 완전히 다른 접근 방식으로 해결할 수있는 유스 케이스가있을 수 있습니다. 유스 케이스를 설명하면 좋은 조언을 얻을 수 있습니다. –