2012-08-10 1 views
0

나는 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에서) 멀리 선택의 원래 값을

    1. 스토어 옵션을 선택하고 이전에 있었던 것과 일치하는 목록 (이 경우 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> 
    
  • +0

    'id = TopicID'인 요소에 대한 html 마크 업 예제를 질문에 추가 할 수 있습니까? – sberry

    +0

    감사합니다. 나는 이것을 추가했다. 매우 표준적인 선택입니다. 그냥 어떻게 든 초기 값을 가져 와서 저장하고 새로 고침을 새로 고친 다음 선택한 옵션을 업데이트하여 선택한 항목을 표시합니다. 여기에 쓰기가 쉽지만 실제로 이것을 어떻게하는지 확신 할 수 없습니다. – Alan2

    답변

    0

    아주 간단 실제로 (코드는 여전히 추가해야하는 것보다 어렵습니다) :

    function dropdownlistprocessing() { 
    
        var selectedval = $("#mydropdown").val(); 
    
        // now process your dropdownlist 
    
        $("#mydropdown").val(selectedval); 
    } 
    

    편집 : 당신이 볼 수 있듯이, 당신이 사용하는 경우 .val() 당신은 얻을 선택한 값. .val(foo)을 사용하여 값을 전달하면 드롭 다운 목록에서 선택 항목을 설정합니다.

    EDIT2 다음 설명에 따라이 다음을 원합니까?

    function dropdownlistprocessing() { 
    
        var selectedval = $("#mydropdown_A").val(); 
    
        // now process your dropdownlist 
    
        $("#mydropdown_B").val(selectedval); 
    } 
    
    +0

    안녕하세요 - 도움을 주셔서 감사합니다.하지만 필요한 것이 아닙니다. 사용자가 선택할 수있는 긴 목록을 업데이트해야합니다. sberry는 jsFiddle 예제를 제시했습니다. 가까이 있지만 이동 버튼이없고 사용자가 선택 드롭 다운을 클릭하면 모든 것이 시작됩니다. 희망을 나는 이해한다. – Alan2

    +0

    질문을 올바르게 읽으면 현재 선택된 값을 변경하지 않고 드롭 다운 목록을 업데이트하는 방법을 알아야합니다. 내 의견 사이에 코드를 삽입하면 목표를 달성 할 수 있습니다. 그러나 드롭 다운 목록에 요소를 추가하는 코드가 작동하지 않는다면, 당신이 의미하는 것을 정교하게 제시하거나 보여줄 수 있습니까? 나는 당신이 우리에게 완전히 알리고 자 노력하고 있다는 것을 알 수 있지만, 의도를 완전히 이해할 수 없기 때문에 빠진 정보가 있습니다. 나는 불쾌감을 의미 :-) – Flater

    +0

    안녕하세요, 드롭 다운 목록에 대한 코드가 잘 작동하고 있습니다. 문제가있는 곳은 드롭 다운 목록이 표시 될 때 첫 번째 항목은 항상 목록에 강조 표시된 항목입니다.내가 원하는 것은 내 강조 상자를 클릭하기 전에 내 선택 상자에 있던 항목이있는 드롭 다운 목록입니다. 희망은 그 말이 맞습니다. 설명하기가 어렵습니다. 감사. – Alan2

    관련 문제