2011-10-14 3 views
2

내 apsx 페이지에는 미리 선택된 일부 항목이있는 목록 상자 (techGroups)가 있습니다. 사용자는 선택 사항을 변경할 수 있습니다. 한편 리셋 버튼이 있습니다. 사용자가 리셋 버튼을 클릭하면 목록 상자가 미리 선택된 항목으로 복원되고 다른 항목은 복원되지 않습니다.배열에 의해 제공된 값으로 목록 상자에서 선택된 항목을 설정하는 방법은 무엇입니까?

재설정 버튼의 onclientclick에 대한 javascript 함수를 작성합니다. 어떻게 든 재설정 버튼을 클릭하면 첫 번째 미리 선택된 항목 만 선택되고 다른 모든 미리 선택된 항목은 선택되지 않습니다.

reset() 
{ 
     var selectedGroups = hiddenfield1.value.split(","); //i saved those preselected items in a hiddenfield 
     for (var i = 0; i < techGroups.options.length; i++) { 
      for (var j = 0; j < selectedGroups.length; j++) { 
       if (techGroups.options[i].value == selectedGroups[j]) { 
        techGroups.options[i].selected = true; 
       } 
      } 
     } 
} 

아무도 내 코드를보고 무엇이 잘못되었는지 말해 줄 수 있습니까? 감사.

+0

감사합니다. 나는 그것이 스플릿 (",")을 넣어야하는 오타가 스플릿을 호출했기 때문에 발견했습니다. 나는 공간을 놓쳤습니다. – GLP

답변

0

참조 문제 (DOM) 일 수 있습니다. 이,

자바 스크립트를 사용해보십시오 :

<script type="text/javascript"> 
window.onload = function() { 
    var btnReset = document.getElementById("btnReset"); 
    btnReset.onclick = function() { 
     var hid1 = document.getElementById("hiddenField1"); 
     var techGroups = document.getElementById("techGroups"); 

     var selectedGroups = hid1.value.split(","); //i saved those preselected items in a hiddenfield 

     for (var i = 0; i < techGroups.options.length; i++) { 
      for (var j = 0; j < selectedGroups.length; j++) { 
       if (techGroups.options[i].value == selectedGroups[j]) { 
        techGroups.options[i].selected = true; 
       } 
      } 
     } 
    }; 
}; 
</script> 

마크 업 :

<form id="form1" runat="server"> 
<div> 
    <input type="hidden" id="hiddenField1" value="aa,bb,cc" /> 
    <select id="techGroups" size="4" multiple="multiple"> 
     <option value="rr">rr</option> 
     <option value="aa">aa</option> 
     <option value="cc">cc</option> 
     <option value="zz">zz</option> 
     <option value="bb">bb</option> 
     <option value="dd">dd</option> 
    </select> 
    <input type="button" id="btnReset" value="Reset" /> 
</div> 
</form> 
1

jQuery를 허용? 그래서 여기서 일하는 참조하십시오 경우 (없는 경우, disconsider하십시오) : 당신의 도움에 대한

http://jsfiddle.net/sW8HX/4/

+0

JQuery에서이를 수행하는 방법을 잘 알고 있습니다. 감사. – GLP

관련 문제