나는 50 개 이상의 행을 가진 화면을 가지고있어 TopidID를 알 수있다. 그 화면에는 잠재적으로 많은 수의 행을 가질 수있는 격자가 있습니다. 모든 행 있는에 대안으로 나는 다음과 같이 단지 하나 개의 항목 내 선택을 채울 많은 선택과 :이 행의에 사용자가 클릭 처음으로 선택하면 내가 다음 내용을 변경jQuery를 사용하여 inital 값을 기준으로 <select> 옵션을 선택하면 어떻게 표시됩니까?
<td>
<select title="X" data-clicked="N" data-list="N" id="input_TempRowKey_73" name="rowKey_73" class="select-topic">
<option value="0307">ABC</option>
</select>
</td>
TopidID <select>
에서 많은 옵션으로 선택 및 복사하십시오. 코드가 작동하고 동작이 빠르게 발생하므로 사용자는 새 옵션이 추가되었음을 인식하지 못합니다.
.on('click', '.select-topic', function() {
if ($(this).attr('data-list') == "N") {
$(this).attr('data-list', 'Y')
var topicSelectHtml = $('#TopicID').clone().find("optgroup:first").remove().end().find("option[value$='**']").remove().end().html();
$(this).html(topicSelectHtml);
$(this).attr('data-clicked', 'Y')
}
return false;
})
그러나 문제가 있습니다. 사용자가 클릭하면 새 목록이 나타나고 원래 값 (이 경우 ABC)이 선택되지 않습니다.
인가가 다음 작업을 수행 할 수있는 방법 : 새로운 이상 목록에 새로운 선택의- 스토어 옵션을 선택하고 이전에 있었던 것과 일치하는 목록 (이 경우 0307 및 ABC)의 "선택됨"으로 표시합니다.
여기는 TopicID의 형식입니다. 그것은 매우 표준 코드입니다 :
<select id="TopicID">
<optgroup label="Admin">
<option value="0000">All Topics</option>
</optgroup>
<optgroup label="X">
<option value="0307">ABC</option>
<option value="0308">DEF</option>
</optgroup>
</select>
'id = TopicID'인 요소에 대한 html 마크 업 예제를 질문에 추가 할 수 있습니까? – sberry
감사합니다. 나는 이것을 추가했다. 매우 표준적인 선택입니다. 그냥 어떻게 든 초기 값을 가져 와서 저장하고 새로 고침을 새로 고친 다음 선택한 옵션을 업데이트하여 선택한 항목을 표시합니다. 여기에 쓰기가 쉽지만 실제로 이것을 어떻게하는지 확신 할 수 없습니다. – Alan2