2013-08-21 2 views
0

내 응용 프로그램에는 많은 드롭 다운 목록이 있습니다. 그리고 이러한 목록의 개수는 사용자 선택에 따라 달라집니다. 모든 드롭 다운 목록에서 선택한 값을 읽어야합니다. 하지만 다음 코드는 작동하지 않습니다. ids2에 대한 값이 비어 있습니다.모든 드롭 다운 목록의 선택된 값 읽기

HTML

<div> 
    <ul class="nav nav-tabs nav-stacked" data-bind="foreach:fileHeaders"> 
     <li><div>    
       <select data-bind="options:$parent.parentDDL, optionsText: 'text', optionsValue: 'id',value : parentTypeName, optionsCaption: 'Select Type...'"></select> 
       <span class="childselect" data-bind="visible:showChildDDL"><select class="selChildDDL" data-bind="options:childDDL, value: childSelect" ></select></span> 
      </div> 
     </li> 
    </ul> 
</div> 

자바 스크립트

self.saveImportClicked = function (temp) { 

      var selVal = $('#selChildDDL').val(); 

      //var ids = $("select.selChildDDL > option:selected").map(function (n, i) { 
      // return $(n).innerHTML(); 
      //}).join(","); 

      var ids2 = $(".selChildDDL > option:selected").map(function (n, i) { return $(i).innerHTML() }).toArray().join(","); 

      //var optiontext; 
      //var childid2 = $('#selChildDDL option').each(function (index, option) { 
      //  optiontext = option.innerHTML; 
      //    }); 

}; 
+0

오류가 있습니까? – AdityaSaxena

답변

0

.innerHTML은 jQuery 메서드가 아닙니다. 네이티브 DOM 속성입니다. 그래서 다음을 시도하십시오.

var ids2 = $(".selChildDDL > option:selected").map(function(n, i){ 
    return ($(i)[0].innerHTML); 
}).toArray().join(","); 

console.log(ids2); 

$(i)[0].innerHTML 또는 i.innerHTML 정확히 같은 일을.

+0

예, 솔루션이 완벽하게 작동했습니다. – Henry

0

사용 jQuery의 html() 방법 대신 innerHTML()는 :

var ids2 = $(".selChildDDL > option:selected").map(function (n, i) { 
    return $(i).html(); 
}).toArray().join(","); 

innerHTML브라우저의 기본 DO의 재산입니다 M 요소. html()은 jquery 객체 (예 : $(i))에서 호출 할 수있는 메소드입니다.

+0

여전히 ids2에 대해 빈 값이 됨 – Henry

관련 문제