2014-12-29 1 views
0

드롭 다운 목록의 너비를 가져 와서 그에 따라 div 너비를 설정하려고합니다. 문제는 드롭 다운의 폭을 얻으려고하면 -2로 표시된다는 것입니다.드롭 다운의 요소 너비는 document.ready에서 사용할 수 없습니다.

$(document).ready(function() { 
    var ddWidth = $("#drdTypes").width(); 
    alert(ddWidth); 
} 

<%=Html.DropDownList("drdTypes", new SelectList(Model.TypeList, "text", "text"))%> 

버튼에 동일한 코드를 실행하면 적절한 값을 얻을 수 있습니다. document.ready가 발생하면 DOM을 사용할 수 있다고 생각했습니다.

+2

DOM **은 ** 사용할 수 있지만 일부 콘텐츠 (예 : 이미지 등)는 너비와 높이가 나오기 전에로드해야합니다. 'window.onload'를 사용해보고 무슨 일이 일어나는 지보십시오. – adeneo

+0

올바르게 기억한다면'load' 이벤트가 있습니다. jQuery 자체가 아니지만 DOM 모델 – user907860

+0

에서 해결 방법을 찾았습니다. 필자는 필자의 페이지 끝 부분에 필요한 기능을 수행하는 함수를 호출하는 스크립트 블록을 두었습니다. –

답변

0

$('#drdTypes').load(function() { 
    console.log($(this).width()); 
}); 

는 기본적으로 부하에 드롭 다운을 기다리고 콘솔에서 폭을 기록하십시오. ready 콜백 안에 넣어야합니다.

+1

화재가 발생하지 않습니다. 나는