2016-07-22 6 views
0

하나씩 여러 선택 옵션을 클릭 할 때 URL을 팝업해야한다는 요구 사항이 있습니다. 그것은 하나의 옵션을 클릭하면 사용자가 일부 데이터를 제출하고 이전 html 창으로 돌아갈 수있는 새 창을 팝업해야 함을 의미합니다. 이제 사용자는 하나의 옵션 (Ctrl + 클릭)을 선택할 수 있으며 새 팝업 창을 열어야합니다. 그러나 Pop up url은 option 값을 포함하고 있습니다.여러 옵션을 클릭하면 새로운 창을 하나씩 팝업으로 선택합니다.

function callInstrumentField() 
{ 

     var url; 
     var w; 
     var InstAct; 
     var InstName = document.ATTForm.instname.value.replace(/\s/gi,""); 
     var sel = document.getElementById('FldSel'); 
     var selected = sel.options[sel.selectedIndex]; 
     var FldSelVel = sel.value; 
     var FldType = selected.getAttribute("isred"); 
     var x2 = document.ATTForm.InstrAction.value; 

     if(InstName=="") 
      { 
      alert("Please Enter Instrument Name"); 
      document.getElementById("instname").focus(); 
      return false; 
     } 
     else{ 
      if(x2=="UPDATE") 
       { 
       InstAct= 'SELECT'; 
      } 
      else 
       { 
       InstAct=x2; 
      } 
     //var x2="SELECT"; 
      if (FldType == "Dropdown") 
       { 
       url = '?func=lsdms.ViewInstrumentFldSel&InstrAction='+InstAct+'&InstruMntNo='+FldSelVel; 
       w = window.open(url,"","height=340,width=680,scrollbars=yes,resizable=yes,menubar=no,toolbar=yes,status=yes"); 

       if (w.focus) 
        { 
        w.focus(); 
       } 

      } 
     } 
} 

하지만 원하는 방식으로 작동하지 :

<select multiple="multiple" id="FldSel" name="FldSel" size=15 onchange="callInstrumentField();" >                 
    <option isred= "A" value="1">1</option> 
    <option isred= "A" value="2">2</option> 
    <option isred= "A" value="3">3</option>                        
    <option isred= "A" value="4">4</option> 
</select> 

// 자바 스크립트 기능입니다. 매번 스크립트 내에서 이전에 선택한 옵션 값을 전달합니다.

답변

1

정확하게 선택하신 옵션을 얻으려는 시도를했는데 아무 문제가 없습니다.

당신은 크롬 툴을 통해 디버깅하고 값을 심문 할 수 있어야

var FldSelVel = sel.value; 

줄에 중단 점을 추가하는 경우

.

업데이트


당신이 jQuery를

을 사용할 수 있습니다 클릭에 대한 이벤트를 트리거해야하는 경우 그 선택된 값

for (x=0;x< sel.options.length;x++) 
    { 
    if(sel.options[x].selected) 
     { 
     alert(sel.options[x].value);    
     } 
    } 

을 옵션 반복 및 테스트에 의해 검출 할 수 다중 선택

$('#FldSel').on('change', function() { 
    var value = $(this).val(); 
    alert(value); 
}); 

대신에 e alert 이제 팝업을 표시하기 위해 전화를 걸 수 있습니다.

+0

문제는 다중 선택 옵션입니다. 여러 값을 선택하면 항상 첫 번째 선택된 값이 전달됩니다. –